Trie樹 字典樹的簡介及實現

2022-02-12 00:09:22 字數 1175 閱讀 3102

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樹的記憶體消耗非常大.當然,或許用左兒子右兄弟的方法建樹...