码迷,mamicode.com
首页 > 其他好文 > 详细

后缀数组求解字符串的最长重复子串

时间:2014-09-25 14:06:58      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:style   使用   sp   log   时间   line   r   bs   字符串   

后缀数组

给定一个字符串,求出其最长的重复子串。

思路:使用后缀数组,对一个字符串生成相应的后缀数组后,然后再排序,排完序依次检测相邻的两个字符串的开头公共部分。
这样的时间复杂度为:

生成后缀数组 O(N)
排序 O(NlogN*N) 最后面的 N 是因为字符串比较也是 O(N)
依次检测相邻的两个字符串 O(N * N)
总的时间复杂度是 O(N^2*logN), 

 

后缀数组求解字符串的最长重复子串

标签:style   使用   sp   log   时间   line   r   bs   字符串   

原文地址:http://www.cnblogs.com/hellogiser/p/suffix-array-for-longest-repeated-string.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!