字典樹 Trie樹

2022-05-02 04:36:06 字數 1124 閱讀 6687

字典樹,又稱單詞查詢樹,trie樹

是一種樹形結構,是一種雜湊樹的變種

典型應用是用於統計,排序和儲存大量的字串(但不僅限於字串)

所以經常被搜尋引擎系統用於文字詞頻統計

它的優點是:利用字串的公共字首來減少查詢時間

最大限度地減少無謂的字串比較,查詢效率比雜湊樹高

trie樹真是處理字串的利器呢qwq

假如我們要在樹中插入cat,car,bread,break,broke,no,not,noi,就是這樣的qwq:

不難想出插入的過程:

1.要插入字串的時候,先檢視深度為當前節點深度+1的節點中有沒有該字串的第深度位字元

如果有,就直接將當前節點設為這個字元所在的節點

沒有就新建乙個節點,並且將當前節點設為這個字元所在的節點

2.標記當前根節點(相當於標記字串的最後乙個字元,即標記整個字串)

p.s. 畫得圖裡面的字母忘記換成小寫了,請見諒

所以我們就可以寫出以下**啦qwq:

前置定義部分:

int cnt=1;//計數,把字典樹的節點按照插入順序編號

int trie[300010][26];//樹

bool vis[300010];//標記

插入字元**部分:

inline void insert(char s)

cin>>m;

while(m--)

return 0;

}

完結了

如果有不明白的歡迎提出建議,我會改的qwq

Trie樹(字典樹)

trie樹的核心思想是用空間換時間,通過在樹中儲存字串的公共字首,來達到加速檢索的目的。例如,對於一棵儲存由英文本母組成的字串的trie樹,如下圖 trie樹在實現的時候,可以用左兒子右兄弟的表示方法,也可以在每個節點處開設乙個陣列,如上圖的方法。trie樹的主要操作是插入 查詢,也可以進行刪除。插...

字典樹 Trie樹

字典樹 trie樹 顧名思義是一種樹形結構,屬於雜湊樹的一種。應用於統計 排序 查詢單詞 統計單詞出現的頻率等。它的優點是 利用字串的公共字首來節約儲存空間,最大限度地減少無謂的字串比較,查詢效率比雜湊表高。字典樹的結構特點 根節點不代表任何字元。其他節點從當前節點回溯到根節點可以得到它代表的字串。...

字典樹 trie樹

amy 56 ann 15 emma 30 rob 27 roger 52首先存入amy,level 0表示根,不持有資料。其餘每個節點持有乙個字元 葉子節點持有資料,且持有的字元為 0 level 0 root a level 1 m level 2 y level 3 0 56 level 4新...