后缀数组

后缀数组:从今天起开始新一轮的学习--《后缀数组》。

第一步:学习后缀树的建立,好的资料:http://hi.baidu.com/zealot886/item/5d35b442d059701a886d1072。看了大概两个小时,基本的意思看懂了,这是采用了压缩的原理很好的建立了一棵后缀树,知道了它的用途:

1、查找一个字符串T是否在字符串S中出现过,如果出现过的话必然是某个后缀的前缀;

2、查找一个字符串T在字符串S中出现的次数如果T在S中出现了两次,则S应有两个后缀以T为前缀,重复次数统计出来就行了;

3、字符串S中最长重复子串(两次或两次以上),找到最深的非叶节点,为什么要非叶节点呢?因为既然是要重复,当然叶结点个数要>=2;

4、两个字符串S1、S2的最长公共部分将S1#S2$作为字符串压入后缀树,找到最深的非叶节点,且该节点的叶结点既有#也有$。

http://tieba.baidu.com/f?kz=754580296

http://www.cnblogs.com/staginner/archive/2012/02/02/2335600.html

http://wenku.baidu.com/view/ed1be61e10a6f524ccbf85fd.html
原文地址:https://www.cnblogs.com/jiangjing/p/3117828.html