題目描述
在進行文法分析的時候,通常需要檢測乙個單詞是否在我們的單詞列表裡。為了提高查詢和定位的速度,通常都要畫出與單詞列表所對應的單詞查詢樹,其特點如下:
l 根節點不包含字母,除根節點外每乙個節點都僅包含乙個大寫英文本母;
l 從根節點到某一節點,路徑上經過的字母依次連起來所構成的字母序列,稱為該節點對應的單詞。單詞列表中的每個詞,都是該單詞查詢樹某個節點所對應的單詞;
l 在滿足上述條件下,該單詞查詢樹的節點數最少。
例:圖一的單詞列表對應圖二的單詞查詢樹
對乙個確定的單詞列表,請統計對應的單詞查詢樹的節點數(包括根節點)
輸入描述:
為乙個單詞列表,每一行僅包含乙個單詞和乙個換行/回車符。每個單詞僅由大寫的英文本元組成,長度不超過63個字元。檔案總長度不超過32k,至少有一行資料。
輸出描述:
該檔案中僅包含乙個整數和乙個換行/回車符。該整數為單詞列表對應的單詞查詢樹的節點數。
示例1輸入複製a
anasp
asasc
ascii
basbasic
輸出複製
13分析:
建立 trie樹,即可知道節點總數
#include
#define ll long long
using
namespace std;
typedef unsigned long
long ull;
const
int n =
1e5+10;
int t[n]
[30];
int idx=1;
char a[
100]
;void
insert()
p=t[p]
[x];}}
intmain()
printf
("%d"
,idx)
;return0;
}
Trie 單詞查詢樹
l 簡介 trie 又稱單詞查詢樹 字首樹,是一種雜湊樹的變種。應用於字串的統計與排序,經常被搜尋引擎系統用於文字詞頻統計。含有單詞 tea tree a zsu 的一棵trie l性質 n根節點不包含字元,除根節點外的每乙個節點都只包含乙個字元。n從根節點到某一節點,路徑上經過的字元連線起來,為該...
Trie 單詞查詢樹
l 簡介 trie 又稱單詞查詢樹 字首樹,是一種雜湊樹的變種。應用於字串的統計與排序,經常被搜尋引擎系統用於文字詞頻統計。含有單詞 tea tree a zsu 的一棵trie l性質n 根節點不包含字元,除根節點外的每乙個節點都只包含乙個字元。n 從根節點到某一節點,路徑上經過的字元連線起來,為...
Trie樹(單詞查詢樹)
前言 tire樹,又稱之為字典樹或者單詞查詢樹。是一種樹形結構,是雜湊樹的變種。典型應用是用於統計 排序或儲存大量的字串 不僅限於字串 所以經常被搜尋引擎系統用於文字詞頻的統計。因為相同的字串字首會共享同一條分支,所以優點是可以利用不同字串的相同字首來減少無謂的字串比較,查詢效率比hash表 has...