最长公共子字符串 (Longest Common Substring)

来源:互联网 发布:新概念英语怎么用 知乎 编辑:程序博客网 时间:2024/05/21 17:13

问题:字符串 "ABABC", "BABCA" 最长公共子字符串是 "ABC"?


solution1: suffix tree

建立suffix tree时间复杂度是O(N), 查找公共子字符串的代价是O(m+n), m和n分别是两个字符串的长度。

关于suffix tree请参考http://mila.cs.technion.ac.il/~yona/suffix_tree/


solution2:Dynamic Programming


对于字符串"ABAB", "BABA"

  ABAB 00000B00101A01020B00203A01030最长公共子字符串是"BAB", "ABA"




原创粉丝点击