字典樹實現

2022-03-15 18:58:17 字數 1187 閱讀 8813

字典樹,又稱單詞查詢樹,trie 樹,是一種樹形結構,是一種雜湊樹的變種。

典型應用是用於統計,排序和儲存大量的字串(但不僅限於字串),所以經常被搜尋引擎系統用於文字詞頻統計。

它的優點是:利用字串的公共字首來減少查詢時間,最大限度地減少無謂的字串比較,查詢效率比雜湊樹高。

以下是**實現部分

#

字典樹class

trienode2:

def__init__

(self):

self.childs = dict() #

構建字典

self.is_leaf =false

definsert(self, word: str):

curr =self

for char in

word:

if char not

incurr.childs:

curr.childs[char] =trienode2()

curr =curr.childs[char]

curr.is_leaf =true

defsearch(self, word: str):

curr =self

for char in

word:

if char not

incurr.childs:

return

false

curr =curr.childs[char]

return

curr.is_leaf

'''下面是測試**

'''trie =trienode2()

trie.insert(

"anything")

trie.insert(

"anybody")

trie.insert(

"anybody1")

trie.insert(

"anybody3")

print(trie.search("

key")) #

->false

print(trie.search("

anybody1

")) #

->true

字典樹實現 10 字典樹

字典樹就是一種樹形結構,優點是利用字串的公共字首來節約儲存空間,比如加入 abc abcd abd b bcd efg hik 構造出的字典樹如下 基本特徵 下面我們先實現乙個字典樹,假設所有單詞的字元僅僅是 a z 幷包含以下功能 void insert string word 新增word,可以...

Java實現字典樹

package d0726 public class t trie root new trie for string s str if find root,asdf else public static void insert final trie root,string str cur cur.c...

字典樹的實現

最近對字典樹來了興趣,心血來潮,把 敲了 下面是對字典樹的大體解釋 字典樹是一種樹形結構,是一種雜湊樹的變種。典型應用是用於統計,排序和儲存大量的字串 但不僅限於字串 所以經常被搜尋引擎系統用於文字詞頻統計。它的優點是 利用字串的公共字首來節約儲存空間,最大限度地減少無謂的字串比較,查詢效率比雜湊表...