簡體   English   中英

Ukkonen的后綴樹算法,有什么必要?

[英]Ukkonen's suffix tree algorithm, what is necessary?

是的,我讀過這里: 用簡單的英語寫的Ukkonen的后綴樹算法?

這是對該算法的一個很好的解釋,但殺害我的並不是算法本身,而是用來實現它的數據結構。

我需要數據結構盡可能的最小和盡可能快,並且我已經看到許多僅使用節點的實現,有些僅具有邊緣,有些具有邊緣和節點,等等。然后有些變化,我正在閱讀的一個網站聲稱節點不必具有指向其父節點的指針,其他地方也不能說明如何管理節點的子節點。

我的想法是擁有一個帶有int start和int * end(指向當前結束或第i階段)的Node結構。 每個節點將具有一個suffix_link指針,一個指向其父節點的指針以及一個指向包含其子節點的向量的指針。

我的問題是,這些東西是否足以實現后綴樹? 我可以以任何方式將其最小化嗎? 我還沒有看到帶有向量的子對象的實現,所以我對自己的想法表示懷疑。 有人可以解釋僅使用節點以這種方式實現后綴樹的情況嗎?

當我必須實施該算法時,解釋得更好的文檔是原始的Ukkonen論文,並且有一個新的image

本文檔中的所有內容都是實施Ukkonen的后綴樹算法的全部內容。

以下內容可能會有所幫助:

Ukkonen的后綴樹構造

這邊有
1.開始,結束代表邊緣標簽
2.后綴鏈接
3.兒童陣列

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM