2018/2/1(二月你好)后缀数组的初始理解

虽然标题说着二月你好,其实今天过得还真是不怎么样,看了一天的后缀数组,结果真的不怎么样

我先把

后缀数组——处理字符串的有力工具

作者:罗穗骞

https://wenku.baidu.com/view/ed1be61e10a6f524ccbf85fd.html

这篇论文放在这,之后的理解一天天的加深吧

其实今天的理解总结一下就是下面两个图

2018/2/1(二月你好)后缀数组的初始理解
2018/2/1(二月你好)后缀数组的初始理解
怎么说呢,基本上今天我看过的所有有关后缀数组的博客里几乎都有这两个图

而理解呢也各有不同


首先,什么叫后缀?什么叫后缀数组?

比如 字符串 abcdef  那么 abcdef  bcdef  cdef   def   ef   f 就叫做后缀 

       也就是从最后一个字母之前的一个字母开始一直到最后一个字母所构成的字符串就叫后缀

       后缀数组也就不难理解了,就是后缀的集合

这篇博客写的很好

https://www.cnblogs.com/shanchuan04/p/5324009.html

我能看懂倍增算法也是看的这篇博客  感谢大佬

定义:

             Suffix Array数组(SA数组)用于保存从小到大排好序之后的后缀。

           RANK名次数组用来保存后缀S[i..n]在所有后缀中是第几小的后缀。

             简单来说,SA数组表示的是“排第几的是谁”,RANK数组表示的是“你的排名是多少”。

就先这样吧,等会宿舍就关门了QAQ,我先往回跑着。