摘要: 后缀数组,是指对给定序列(可以是字符串或者普通的数字数组,甚至可以是某些任意带权值的可比较数据),所有的后缀的排序,数据结构方面,主要包括两个数组:sa[i],rank[i],sa[i]记录当前排到第i的是谁,其实存储的就是其他的排序(如快排或者插入排序这一类依靠比较的排序算法)的最后结果,rank[i]则表示i这个字符开始的子串排第几,在这里,得到sa[i]利用了计数排序,关于计数排序,所以先介绍一下计数排序:计数排序所用到的数据结构:a[i]表示原始的序列,c[i]用来存储中间结果,sa[i]存储最后的结果,计数排序开始时需要用c[i]来存储数字i出现了几次,所以要求数据的范围不能过大,否 阅读全文
posted @ 2013-03-15 21:44 zhenhai 阅读(315) 评论(0) 推荐(0)