用 C 實現的字首樹 Trie

2022-02-09 03:12:28 字數 1222 閱讀 3798

拜讀了 jeffery zhao 的大作 後,有自己寫一棵字首樹的衝動,於是花了一點時間,樸素地實現了。

[edit]發現這個實現有很多漏洞,隱藏了……真要看,點此展開

**:

using 

system

.collections

.generic;

namespace

datastructure

.trees

public

trie(

trienode

<

tkeyfragment, tvalue

>

root )

public bool

store(

ienumerable

<

tkeyfragment

>

key, tvalue value )

public

ienumerable

<

tvalue

>

lookfor(

ienumerable

<

tkeyfragment

>

key )

}public class

trienode

<

tkeyfragment, tvalue

>

return

table[nextfragment]

.expand(keyenumerator, value);

}else

return true

; }

}protected internal virtual

ienumerable

<

tvalue

>

lookfor(

ienumerator

<

tkeyfragment

>

keyenumerator )

return

table[nextfragment]

.lookfor(keyenumerator);

}else}}

}

用的話鍵的型別要實現 ienumerable,用法簡單:

class 

program

}

還沒有想到怎麼合併沒有對應 value 的中間節點,回去再想想。

Trie字首樹簡單實現

trie樹,字首樹,字典樹,又稱單詞查詢樹或鍵樹,是一種樹形結構。典型應用是用於統計和排序大量的字串 但不僅限於字串 可以用於搜尋引擎系統,用於文字詞頻統計。trie利用字串的公共字首來避免無謂的查詢,從而降低查詢時間的開銷以達到提高效率的目的。1.根節點不包含字元,除根節點外每乙個節點都只包含乙個...

208 實現Trie 字首樹

實現乙個 trie 字首樹 包含 insert,search,和 startswith 這三個操作。示例 trie trie new trie 說明 你可以假設所有的輸入都是由小寫字母 a z 構成的。保證所有輸入均為非空字串。class trie def init self self.root d...

trie樹(字首樹)

trie 樹,又稱字典樹,單詞查詢樹。它 於retrieval 檢索 中取中間四個字元構成 讀音同try 用於儲存大量的字串以便支援快速模式匹配。主要應用在資訊檢索領域。trie 有三種結構 標準trie standard trie 壓縮trie 字尾trie suffix trie 這裡只將前兩種...