亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

簡單英語中的Ukkonen后綴樹算法

簡單英語中的Ukkonen后綴樹算法

烙印99 2019-06-27 15:52:24
簡單英語中的Ukkonen后綴樹算法在這一點上我覺得有點厚。我花了幾天的時間試圖把我的頭完全集中在后綴樹的構造上,但由于我沒有數學背景,所以很多解釋都沒有得到解釋,因為它們開始過度使用數學符號。我發現最接近正確解釋的是帶后綴樹的快速字符串搜索,但他掩蓋了不同的點和一些方面的算法仍然不清楚。我確信,在堆棧溢出的情況下,一步地解釋這個算法對于除我之外的其他許多人來說都是非常寶貴的。作為參考,以下是Ukkonen關于該算法的論文:http:/www.cs.helsinki.fi/u/Ukkonen/SuffixT1withFigs.pdf到目前為止,我的基本理解是:我需要遍歷給定字符串T的每個前綴P我需要遍歷前綴P中的每個后綴S并將其添加到樹中要向樹中添加后綴S,我需要遍歷S中的每個字符,迭代包括沿著現有的分支遍歷,該分支以S中的同一組字符C開頭,當我到達后綴中的不同字符時,可能會將邊分割為后代節點,或者如果沒有匹配的邊向下行走。當C沒有找到匹配的邊時,就會為C創建一個新的葉子邊緣?;舅惴ㄋ坪跏荗(N)2),正如在大多數解釋中所指出的那樣,由于我們需要遍歷所有前綴,那么我們需要遍歷每個前綴的每個后綴。Ukkonen的算法顯然是獨一無二的,因為他使用了后綴指針技術,盡管我認為那,那個我很難理解。我也很難理解:指定、使用和更改“活動點”的確切時間和方式算法的經典方面是怎么回事?為什么我看到的實現需要“修復”他們使用的邊界變量這是已完成的C#源代碼。它不僅工作正常,而且支持自動封圣,并呈現出更好看的輸出文本圖。源代碼和示例輸出位于:https://gist.github.com/2373868更新2017-11-04許多年后,我發現了后綴樹的新用法,并在JavaScript..蓋斯特在下面。應該沒有竊聽器。把它倒入一個js文件,npm install chalk在相同的位置運行node.js,可以看到一些豐富多彩的輸出。在同一個Gist中有一個簡化版本,沒有任何調試代碼。https:/gist.github.com/axe蛙/c347bf0f5e0723cbd09b1aed6ec6fc6
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 592 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號