【动态规划】最长公共子序列问题(Longest common subsequence problem)

根据算法课总结。

最长公共子序列是一种衡量两个string相似度的方式。

子序列(subsequence)是包含在string里的序列,它不需要连续,可间断。

因为一个string 有2^N个子序列,所以如果用穷举法(brute force method),则需要O(2^N)次。



动态规划是可行的。

1. 这个问题有最优结构(optimal structure)。

2. 有重叠的子问题(overlapping subproblems)。

3. Θ(MN)

java 代码,两种方法。


重建LCS


performance


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容