我的任务是识别一个有效的算法O(n*log(n)),给定一组k字符串S= {s-1,s-2,s-3,…,s-k},将识别每一对字符串( s-i,s-j)最长的子字符串T,使得T是s-i的后缀,s-j的前缀,以及每对字符串(s-j,s-i)的最长子字符串T。N表示所有k字符串的加法长度(n =x_s~(-1)\s~(-2)\x~+s~(-3)~+……+_s~(-k))。
有什么想法吗?找到解决方案的链接也很好。提前感谢!
发布于 2017-10-06 14:03:52
生物信息学的算法方面书第61页的算法4.10给出了一种使用后缀树计算一组给定字符串的最长公共子字符串的方法

本文还解释了如何找到最长的公共子字符串。
与后缀树的大小有关的线性时间,即在O(n log )中。
https://stackoverflow.com/questions/46556954
复制相似问题