字典樹 模板

2021-09-30 12:33:29 字數 1306 閱讀 8468

建立字典樹,求以……為字首的單詞個數

統計難題

問題描述:

lgnatius最近遇到乙個難題,老師交給他很多單詞(只有小寫字元組成,不會有重複的單詞出現),現在老師要他統計出以某個字串為字首的字元數量(單詞本身也是自己的字首)。

輸入:

輸入資料的第一部分是一張單詞表,單詞的長度不超過10,它們代表的是老師交給lgnatius統計的單詞,乙個空行代表單詞表的結束。第二部分是一連串的提問,每行乙個提問,每個提問都是字串。

注意:本題只有一組測試資料,處理到檔案結束

輸出:

對於每個提問,給出以該字串為字首的單詞數量。

sample input:

banana

band

bee

absolute

acmba

b band

abcsample output:

2 3 1 0

#include

#include

using namespace std;

int n, m, ans;

char

str[10];

struct dic_tree //構造字典樹,26叉樹,根節點為空

}}*root; //樹是通過指標形式表達的

void build(dic_tree *p, char

str, int end) // 生成字典樹的函式

else

p->num++;

}}int search(dic_tree *p, char

str, int end)

++ix;

}else

return

0; }

}int main()

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

printf("%d/n",search(root, str, strlen(str))); //搜尋字典樹

return

0;}

當然,這道題還可以用map,只是時間較長:(^__^)

#include

#include

#include

using namespace std;

int main()

} while(scanf("%s",&temp)!=eof)

coutreturn

0;

}

字典樹模板

字典樹,又稱單詞查詢樹,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。如果只是 單純的按照以前的字元陣列儲存的思...