字典樹模板

2021-09-25 23:19:31 字數 1061 閱讀 9625

字典樹(trie樹)是一種根據字串字首在log(n)左右時間內完成查詢的資料結構。

插入這裡可能需要節點數統計或者單詞數統計

#include

#include

#define fi first

#define se second

#define show(a) cout<#define show2(a,b) cout<#define show3(a,b,c) couttypedef

long

long ll;

typedef pair<

int,

int> p;

typedef pairint> lp;

const ll inf =

0x3f3f3f3f

;const

int n =

1e6+10;

const ll mod =

10007

;const

int base=

131;

tr1:

:unordered_map mp;

ll n,m,id,x,y,k,q;

ll num[n]

;//單詞出現次數 或者 編號

ll tree[n][10

];//tree[i][j]表示節點i的第j個兒子的節點編號

ll tot;

//總結點數

void

ins(

char

*str)

//插入

num[root]++;

//單詞數統計

}void

del(

char

*str)

//刪除

num[root]--;

//單詞數減少

}//查詢

intquery

(char

*str)

root=tree[root]

[id];}

return num[root];}

intmain()

字典樹模板

字典樹,又稱單詞查詢樹,trie樹,是一種樹形結構,典型應用是用於統計,排序和儲存大量的字串,所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是 利用字串的公共字首來節約儲存空間,最大限度的減少無謂的字串比較,查詢效率比雜湊表高。字典樹的應用 字串的快速檢索 雜湊最長公共字首 include usi...

字典樹模板

package template public class triemod trie root new trie for string s str if find root,asdf else public static void insert final trie root,string str ...

字典樹模板

字典樹 字典樹,又稱單詞查詢樹,trie樹,是一種樹形結構,雜湊表的乙個變種。用於統計,排序和儲存大量的字串 也可以儲存其 的 優點就是利用公共的字首來節約儲存空間。在這舉個簡單的例子 比如說我們想儲存3個單詞,nyist nyistacm nyisttc。如果只是 單純的按照以前的字元陣列儲存的思...