看板 YZU_CN99A 關於我們 聯絡資訊
Q6.Graphs, Greedy and NP-Hard. 1.對一 graph 作 pre-order traversal. 課本沒有好例子,畫的不好請見諒。 ex. 出發點 → a------------d / \ / \ b c---e / \ \ / \ / \ f---g----/ h 經過的原則是:走過的路盡量別再走,除非走到死巷子。 從a出發,依序經過:a → b → f → c → e → c → g → d → h ^^^^^^^^^^^^ 遇到死路所以退回 pre-order就是把「遇到的東西output出來,但是不重複」 所以這個case的 Output:a b f c e g d h 2.對一 graph 作 post-order traversal. ex. 出發點 → a------------d / \ / \ b c---e / \ \ / \ / \ f---g----/ h 經過的原則一樣是:走過的路盡量別再走,除非走到死巷子。 從a出發,依序經過:a → b → f → c → e → c → g → d → h ^^^^^^^^^^^^ 遇到死路所以退回 我們將遇到的東西依順序擺入暫存器,如果有遇到死路退回的, 就優先丟到output(並非先output出來)。 a h b d f 左列是暫存器, e g c 右列是output,最上面的最先output c c c g f → f → f → d b b b h a a e a e e ---- ---- ---- ---- ^^^^^^^^^^^^^ ^^^^ 遇到死路退回,先將e丟到右列 全部都跑完了暫存,就由上依序丟到右列 從下面開始輸出,所以這個Output是e h d g c f b a (有更正) 3.針對Graph作Dijkstra's演算法的流程圖,課本裡有。 Ans.這個用打的可能打到死大家還是看不懂= =,自己看課本p.350 ~ p.360 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.109.75 ※ 編輯: y90633 來自: 114.45.109.75 (01/06 16:18) ※ 編輯: y90633 來自: 114.45.106.48 (01/08 20:04) ※ 編輯: y90633 來自: 114.45.106.48 (01/08 22:45)