字典樹是一種樹形數據結構,他有如下特點:
每個節點都有固定個數的指向兒子節點的指針,她的兒子某一個節點(如果存在的話)包含的信息就是該節點的下一個字符。
根節點不包含字符,除根節點外每一個節點都只包含一個字符; 從根節點到某一節點,路徑上經過的字符連接起來,為該節點對應的字符串; 每個節點的所有子節點包含的字符都不相同。
例:作為一個簡單的演示,這里我們稍微忽略一些細節。下面的這棵樹就是一個簡單的
字典樹的例子:
如圖所示,如果我們按行存儲這些數據:
apple
append
and
antiy
banana
band
我們需要5+6+3+5+6+4=29 B 的空間。
但是字典樹只需要20 B 的空間。
這在數據量更大的時候能起到更好的效果。
字典樹能夠線性時間范圍內實現數據的增刪改查。
posted on 2015-03-09 18:55
JulyRina 閱讀(326)
評論(0) 編輯 收藏 引用 所屬分類:
算法專題