2015-10-07 88 views
-1

我正在構造一個簡單的句子,沒有空格和標點符號的問題。所以它需要字典來查找這個詞是否存在。例如。下面是我如何使用字典在python中創建trie的示例。Trie算法查詢

Trie = {o: {on: {one: ""}}} 

現在的問題,我已經是「開」和「一」都是有效的話,在上述問題我總是會選擇因此最長匹配的「上」字將不被考慮,但如果我想寫這樣的代碼我該怎麼做?就像密鑰的值不是另一個字典那麼它的一個字但是對於「on」鍵將是包含較長字的另一字典在這裏是它的「一個」。我不能有「的」指向「」,並在同一時間,另一字典!

有些事情不對的地方,也許還有另一種算法中這是這個問題。鏈接資源,我無所謂

回答

0

介紹一個特殊鍵這意味着家長可以被認爲是葉節點 說'$END$'是我特殊的鍵我的線索會是什麼樣子:。

Trie = {o: {on: {one: "", "$END$": ""}}} 

然後你可以檢查字典是空的,或者如果它包含特殊密鑰。

+0

嘿索林,謝謝你! –