重念一次早該補起來的「資料結構與演算法」。這篇筆記樹狀結構的遍例模式 Tree Traversal。
課程相關資訊
[連結]:https://hiskio.com/courses/572/lectures/29864
本篇範圍:Chapter 9
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
1. 樹狀結構會需要一種系統性的演算法來遍例
2. Breadth-First Tree Traversal – 寬度優先
3. Depth-First Tree Traversal – PreOrder, InOrder, PostOrder – 深度優先,可細分為前序、中序和後序
Breadth-First Tree Traversal
1. 用 Queue 來模擬,每個節點有 value 和 children
2. 將 Queue 當作處理的暫存區,先將 root 放入
3. 當 root 放入後,將其從陣列中取出和印出
4. 接著將 children 的值執行 for-loop 依照順序放入 Queue
5. 重複執行 3-4 直到 Queue 為空