110 likes | 196 Views
橫越(追蹤)演算法_前序. 名詞介紹 二元樹. 1. 二元樹就是一個 有根樹 ( 有根樹:樹根入度數為 0 ,其它頂點入度數為 1 ) 2. 每個頂點 最多 只有 2 個子頂點 3. 每個子頂點會特別標明 左子頂點 或 右子頂點 4. 由 左子頂點 和 它的後代頂點 連接起來的頂點稱: 左子樹 5. 由 右子頂點 和 它的後代頂點 連接起來的頂點稱: 右子樹 6. 在某一個頂點上 處理資料 稱: 拜訪 7. 對圖上 每個頂點正好只拜訪一次 的搜尋過程稱: 追蹤 8. 拜訪順序列舉所有頂點稱: 列舉 9. 將算術運算式以二元樹表示稱: 表示樹. 左子頂點.
E N D
名詞介紹二元樹 1.二元樹就是一個有根樹(有根樹:樹根入度數為 0 ,其它頂點入度數為 1 ) 2.每個頂點最多只有 2 個子頂點 3.每個子頂點會特別標明左子頂點或右子頂點 4.由左子頂點和它的後代頂點連接起來的頂點稱:左子樹 5.由右子頂點和它的後代頂點連接起來的頂點稱:右子樹 6.在某一個頂點上處理資料稱:拜訪 7.對圖上每個頂點正好只拜訪一次的搜尋過程稱:追蹤 8.拜訪順序列舉所有頂點稱:列舉 9.將算術運算式以二元樹表示稱:表示樹 左子頂點 右子頂點 R 左子樹 右子樹 A B
5.48(a) 5.48(b) 5.48(c) V的左子樹 V的右子頂點:U W的左子頂點 和右子樹 5.48(d) 5.48(e) 5.48(f)
(P.300) ※將算術運算式以二元樹表示稱:表示樹
(P.301) + * a (b*c) b c
(P.301) 把 a + d * ( b – c ) 看成 a + (d * ( b – c )) + * a d*(b-c) - (b-c) d b c
(P.301) - + - (a+b*c) (f-d/e) / * a f (d/e) (b*c) b c d e
(P.302) 前序追踨 呼叫自己(遞迴) (1) A (2) B (6) C (3) D (5) E A B D F E G C 前序列舉: (4) (6) G F
1 2 10 3 9 12 11 13 4 16 5 8 14 15 6 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 前序列舉:
-+a*bc-f/de *ab +a*d-bc +a*bc
+ - 2 * 3 4 + 4 / 8 2 12 + - 2 + 4 / 8 2 + -10 + 4 / 8 2 + 4 -10 + 4 + 8 -2 -10