我瞭解ukkonen's algorithm。我只是很好奇如何將它擴展爲有多個字符串(以特殊字符「$」結尾)。Ukkonen的算法通用後綴樹
我在某處讀到給定字符串s1(稱爲「abcddefx $」)和s2(稱爲「abddefgh $」),我應該通過ukkonen的算法正常插入s1。然後用s2遍歷樹。那就是我應該在樹中搜索s2。 一旦我到達搜索結束的節點(「ab」,在'b'之後),我應該從那裏恢復ukkonen的算法。
我明白這背後的基本邏輯。但我很好奇的是,舊的後綴鏈接會發生什麼。他們仍然有效嗎? 另外我很困惑我的三重(active_node,active_length,餘數)應該是(節點代表「ab」,0,0),因爲我開始新的傳球?
使用不同的特殊字符。 – nhahtdh
@nhahtdh雖然這將導致絕對正確的結果,但恐怕我不能使用不同的特殊字符爲我添加到樹中的每個字符串。 – Fluvid
這是多個字符串的「標準」解決方案。 – nhahtdh