日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

后缀树和后缀数组的一些资料收集

發布時間:2025/4/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 后缀树和后缀数组的一些资料收集 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

后綴樹(Suffix tree)是一種數據結構,能快速解決很多關于字符串的問題。后綴樹的概念最早由Weiner 于1973年提出,既而由McCreight 在1976年和Ukkonen在1992年和1995年加以改進完善。

后綴樹提出的目的是用來支持有效的字符串匹配和查詢。

一個具有m個詞的字符串S的后綴樹T,就是一個包含一個根節點的有向樹,該樹恰好帶有m個葉子,這些葉子被賦予從1到m的標號。 每一個內部節點,除了根節點以外,都至少有兩個子節點,而且每條邊都用S的一個非空子串來標識。出自同一節點的任意兩條邊的標識不會以相同的詞開始。后綴樹的關鍵特征是:對于任何葉子i,從根節點到該葉子所經歷的邊的所有標識串聯起來后恰好拼出S的從i位置開始的后綴,即S[i,…,m]。樹中節點的標識被定義為從根到該節點的所有邊的標識的串聯。

圖中示意了字符串 "I know you know I know "的后綴樹。內部節點用圓來表示,葉子用矩形來表示,該例子中有六個葉子,被標號為1到6。 終止字符在圖中被省略掉了。

同理, 若干字符串組成的后綴樹, 稱為一個擴展的后綴樹:n個字符串Sn,其中字符串的長度為mn, 由這些字符串組成一個擴展的后綴樹 T ,它是一個包含一個根節點的有向樹,該樹有?mn個葉子,每個葉子都用一個兩數字的坐標tuple(k,l)來標識,其中k的范圍是從1到n,而l的范圍是從1到mk ,每一個內部節點,除了根節點外,都有兩個子節點并且每條邊都用一個非空的S中若干單詞構成的一個子串來標識。并且出自同一節點的任意兩條邊的標識的第一個單詞不能相同。對于任意的葉子(i,j),從根節點到該葉子所經歷的所有邊的標識的串聯恰好拼出后綴Si,該后綴從位置j開始,就是說它們拼出了Si[j..mi]。

用 Ukkonen 算法構造后綴樹/后綴數組,O(n),用鏈表存放子節點(代碼)

用倍增算法構造后綴數組,O(n log n)

后綴樹與后綴數組

后綴數組(IOI國家集訓隊論文)

轉載于:https://www.cnblogs.com/webtrados/archive/2010/06/06/1752833.html

總結

以上是生活随笔為你收集整理的后缀树和后缀数组的一些资料收集的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。