热门问题
时间线
聊天
视角

后缀数组

来自维基百科,自由的百科全书

Remove ads

电脑科学里, 后缀数组(英语:suffix array)是一个通过对字符串的所有后缀经过排序后得到的数组。此数据结构被运用于全文索引、数据压缩算法、以及生物资讯学

事实速览 后缀数组, 类型 ...
Remove ads

后缀数组被乌迪·曼伯尔英语Udi Manber尤金·迈尔斯英语Eugene Myers于1990年提出,作为对后缀树的一种替代,更简单以及节省空间。它们也被Gaston Gonnet 于1987年独立发现,并命名为“PAT数组”。

在2016年,李志泽,李建和霍红卫页面存档备份,存于互联网档案馆)提出了第一个时间复杂度(线性时间)和空间复杂度(常数空间)都是最优的后缀数组构造算法,解决了该领域长达10年的open problem。

Remove ads

定义

令字符串表示的子字符串,下标从

的后缀数组被定义为一个数组,内容是的所有后缀经过字典排序后的起始下标。

对于所有的有::


Remove ads

例子

考虑字符串 =banana$:

更多信息 ...

字符串的结尾是特殊字符$,用作特殊标志。该字符串有以下后缀:

更多信息 后缀, i ...

后缀经过升序排序后:

更多信息 后缀, i ...

后缀数组 包含这些后缀的起始位置:

更多信息 ...
Remove ads

外部链接

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads