Trie樹(字典樹)HDU 1251

2021-07-03 18:51:51 字數 1166 閱讀 4052

又稱單詞查詢樹,

trie樹

,是一種

樹形結構

,是一種雜湊樹的變種。典型應用是用於統計,排序和儲存大量的

字串(但不僅限於字串),所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是:利用字串的公共字首來減少查詢時間,最大限度地減少無謂的字串比較,查詢效率比

雜湊樹高。

根節點不包含字元,除根節點外每乙個節點都只包含乙個字元; 從根節點到某一節點,路徑上經過的字元連線起來,為該節點對應的字串; 每個節點的所有子節點包含的字元都不相同。

例題:hdu——1251統計難題

void create(char s)//插入過程

//將乙個串加入到trie樹中,對於乙個單詞,從根開始,沿著單詞

//的各個字母所對應的樹中的節點分支向下走,直到單詞遍歷完。

else

u=ch[u][c];

}}int find(char s)//查詢過程

//查詢指定字首,從根開始,按照單詞的字母順序向下遍歷trie樹

//一旦發現某個節點標記不存在或者單詞遍歷完成而最後的節點未

//標記為紅色,則表示該單詞不存在,若最後的節點標記為紅色表示

//該單詞存在

return isfind;}};

trie trie;

int main()

memset(str,'\0',sizeof(str));

while(scanf("%s",str)!=eof)

return 0;

}

HDU1251統計難題 trie樹

description ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 input 輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師交給ignati...

hdu 1251 統計難題 (trie樹)

題目 不怎麼寫結構體,這回終於好好複習了下。include include includetypedef struct node trie,node trie為指向自己的指標變數。雖然不知定義上node是何意,但貌似大家都這麼寫 trie root void creat trie p void in...

HDU 1251 統計難題(Trie樹)

有很多單詞 只有小寫字母組成,不會有重複的單詞出現 要統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 每個單詞長度不會超過10.trie樹的模板題。這個題記憶體把控不好容易mle。經過某乙個節點就記一下插入時經過的次數。那麼最後判斷乙個字首的時候就看字首是否能夠存在。如果存在,答案就是最後...