Trie 是一種特殊的 Tree,稱為字首樹。是一種有序樹,是種多元搜尋樹。
不同於二元搜尋樹,鍵值是根據節點所走過的路徑形成。每個節點不存值,鍵值大部份是字串。
一個節點的所有子孫都有相同的字首,也就是這個節點對應的字串,而根節點對應空字串。
透過 Trie 存儲資料能夠加速搜尋字首的相同的所有文字。
搜尋列的自動提示關鍵字就可以使用這樣的結構來辦到。
舉上面的例子來說: 要找到字首有 "te" 的所有資料
只要往 -> "t" -> "e" 然後從這個點的所有子結點往下找就可以找到所有的對應。
https://en.wikipedia.org/wiki/Trie