trie,又稱字典樹、單詞查詢樹,是一種樹形結構,用於儲存大量的字串。它的優點是:利用字串的公共字首來節約儲存空間。
相對來說,trie樹是一種比較簡單的資料結構.理解起來比較簡單,正所謂簡單的東西也得付出代價.故trie樹也有它的缺點,trie樹的記憶體消耗非常大.當然,或許用左兒子右兄弟的方法建樹的話,可能會好點.
其基本性質可以歸納為:
1. 根節點不包含字元,除根節點外每乙個節點都只包含乙個字元。
2. 從根節點到某一節點,路徑上經過的字元連線起來,為該節點對應的字串。
3. 每個節點的所有子節點包含的字元都不相同。
其基本操作有:查詢 插入和刪除,當然刪除操作比較少見.我在這裡只是實現了對整個樹的刪除操作,至於單個word的刪除操作也很簡單.
搜尋字典專案的方法為:
(1) 從根結點開始一次搜尋;
(4) 迭代過程……
/*name: trie樹的基本實現
author: maik
description: trie樹的基本實現 ,包括查詢 插入和刪除操作
*/#include
<
algorithm
>
#include
<
iostream
>
using
namespace
std;
const
intsonnum=26
,base='a';
struct
trie
;trie
*newtrie()
//create a new node
void
insert(trie
*pnt,
char*s,
intlen)
//insert a new word to trie tree
temp
->
terminal
=true;}
void
delete(trie
*pnt)
//delete the whole tree
}trie
*find(trie
*pnt,
char*s,
intlen)
//trie to find the current word
Trie樹 字典樹的簡介及實現
trie,又稱字典樹 單詞查詢樹,是一種樹形結構,用於儲存大量的字串。它的優點是 利用字串的公共字首來節約儲存空間。相對來說,trie樹是一種比較簡單的資料結構.理解起來比較簡單,正所謂簡單的東西也得付出代價.故trie樹也有它的缺點,trie樹的記憶體消耗非常大.當然,或許用左兒子右兄弟的方法建樹...
Trie樹 字典樹的簡介及實現
trie,又稱字典樹 單詞查詢樹,是一種樹形結構,用於儲存大量的字串。它的優點是 利用字串的公共字首來節約儲存空間。相對來說,trie樹是一種比較簡單的資料結構.理解起來比較簡單,正所謂簡單的東西也得付出代價.故trie樹也有它的缺點,trie樹的記憶體消耗非常大.當然,或許用左兒子右兄弟的方法建樹...
Trie樹 字典樹的簡介及實現
trie,又稱字典樹 單詞查詢樹,是一種樹形結構,用於儲存大量的字串。它的優點是 利用字串的公共字首來節約儲存空間。相對來說,trie樹是一種比較簡單的資料結構.理解起來比較簡單,正所謂簡單的東西也得付出代價.故trie樹也有它的缺點,trie樹的記憶體消耗非常大.當然,或許用左兒子右兄弟的方法建樹...