演算法圖鑑
資料結構 · 7 個細項

Tree

樹是「一個節點底下有更多節點」的結構,天生對應遞迴。從二元樹的走訪開始,二元搜尋樹把「有序」和「動態插入」結合,字典樹處理字串,線段樹與樹狀陣列則處理區間查詢。

為什麼要學 Tree

現實中的應用
檔案系統與網頁 DOM

資料夾裡有資料夾、HTML 標籤裡有標籤。計算資料夾大小、渲染網頁、序列化 JSON,都是樹的走訪。

→ 對應課程:Traversal
資料庫索引與有序集合

MySQL 的索引是 B-tree,Redis 的 sorted set、Java 的 TreeMap 是平衡搜尋樹。要「快速找到、還要保持有序」就靠 BST 家族。

→ 對應課程:BST
搜尋列的自動補全

打「alg」就跳出「algorithm」,字典樹沿著字母一路走下去,每一層就是下一個字元。

→ 對應課程:Trie
即時排行與區間統計

十萬筆資料不斷更新,還要隨時問「第 1000 到 2000 筆的總和」。線段樹與樹狀陣列讓查詢與更新都是對數時間。

→ 對應課程:Segment Tree

細項

7