热门问题
时间线
聊天
视角
後綴數組
来自维基百科,自由的百科全书
Remove ads
在計算機科學里, 後綴數組(英語:suffix array)是一個通過對字符串的所有後綴經過排序後得到的數組。此數據結構被運用於全文索引、數據壓縮算法、以及生物信息學。
後綴數組被烏迪·曼伯爾與尤金·邁爾斯於1990年提出,作為對後綴樹的一種替代,更簡單以及節省空間。它們也被Gaston Gonnet 於1987年獨立發現,並命名為「PAT數組」。
在2016年,李志澤,李建和霍紅衛(頁面存檔備份,存於網際網路檔案館)提出了第一個時間複雜度(線性時間)和空間複雜度(常數空間)都是最優的後綴數組構造算法,解決了該領域長達10年的open problem。
Remove ads
定義
令字符串, 表示的子字符串,下標從到。
的後綴數組被定義為一個數組,內容是的所有後綴經過字典排序後的起始下標。
對於所有的有:: 。
Remove ads
例子
考慮字符串 =banana$
:
字符串的結尾是特殊字符$
,用作特殊標誌。該字符串有以下後綴:
後綴經過升序排序後:
後綴數組 包含這些後綴的起始位置:
Remove ads
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads