LCS 最大公共序列算法
来源:互联网 发布:淘宝店铺怎么经营模式 编辑:程序博客网 时间:2024/05/23 13:30
这些天在了解chrome的courgette, 了解了rsync算法, 也了解了courgette使用了bsdiff 算法, 然后知道了bsdiff算法里主要使用的是 LCS 算法, 这里参考了july大牛的文章:
http://blog.csdn.net/v_july_v/article/details/6695482
自己做一点概括性的总结, 用以备忘, 也把自己学习中碰到的一些问题记录下来:
1、LCS 求最大子序列, 一个办法当然是穷举法了, 但是穷举法太耗时间了O(2^m*2^n), 基本没用.
2、聪明的程序员想到了,一个用矩阵来查找的算法,就是把两个队列用整形矩阵表示, 相同的为1, 不同的为0, 然后求最大对角线,优化是优化了很多, 不过求最大对角线也不省心。
3、聪明的程序员再次优化了算法,就是相同的不是用1表示, 而是数字叠加,这样再找最大对角线的时候,就比较舒服了,时间复杂度也降到了 O(mn)+O(m+n) 如下图:
在画上图的时候碰到了一些问题,自己总结成两条:
1、字符相同,则指向左上,并加1
2、字符不同,则指向左边或者上边较大的那个
0 0
- LCS 最大公共序列算法
- LCS 最大公共序列算法
- LCS 最大公共序列算法
- LCS 最大公共序列算法
- LCS 最大公共序列算法
- LCS 最大公共序列算法
- LCS 最大公共序列算法
- LCS 最大公共序列算法
- LCS 最大公共序列算法粗略讲解
- 最大公共子序列(LCS算法)
- LCS 最大公共子序列算法详解
- LCS最大公共子序列
- 最大公共子序列LCS
- LCS 最大公共子序列
- HDU1503:Advanced Fruits LCS 最大公共序列算法
- LCS最大公共子序列O(nlogn)算法
- LCS算法&最大公共子串&最长公共子序列 PHP 实现
- hdu 1159 LCS最大公共子序列
- 解决锐捷客户端间歇性出现密码不匹配,但是密码明明正确的问题
- [乐意黎原创] 红米1刷MIUI 6 系统
- Java 动态代理
- C++实现GUID
- bmp转YUV RGB转YUV HM学习
- LCS 最大公共序列算法
- 黑马程序员_数组的应用和面想对象思想总结
- Mac 环境变量配置
- AIDL的意义及用法
- [Unity基础]游戏中的数学
- Face Alignment by 3000 FPS 代码之二
- 离线版-端点检测代码重写
- Google Chrome 的内核引擎 WebKit 介绍
- 2015编程之美资格赛A