![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
huanhuolang
这个作者很懒,什么都没留下…
展开
-
最长递增子列、最长公共子序列 python实现
DP算法:最长公共子序列:把问题分成两种情况来讨论:1. 如果S1[i] == S2[j]。就是i,j对应位置上的字符相等。那么可以得出M[i,j] = M[i-1,j-1]+1;为什么呢?可以想象的。如果M[i-1,j-1]也是一个最后方案,在这个最优方案上我们同时增加一个字符。而这两个字符又相 等。那么我们只需要在这个M[i-1,j-1]的最优方案上++就可以了。2. 如果S1[i] != S2[j]。那么就拿M[i-1,j]和M[i,j-1]来比较。M[i,j]的值就是M[i-1,j]和M[i,j-1原创 2011-01-17 14:24:00 · 3454 阅读 · 0 评论 -
Levenshtein距离(编辑距离)
编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。我们对字符可能进行的操作有三种:删除、插入、替换原创 2011-01-17 15:31:00 · 1314 阅读 · 0 评论 -
序列比对:Needleman-Wunsch 算法
在比对两个序列时,不仅要考虑完全匹配的字符,还要考虑一个序列中的空格或间隙(或者,相反地,要考虑另一个序列中的插入部分)和不匹配,在序列比对中,需要找到最优的比对(最优比对大致是指要将匹配的数量最大化,将空格和不匹配的数量最小化)。如果要更正式些,您可以确定一个分数,为匹配的字符添加分数、为空格和不匹配的字符减去分数。原创 2011-01-17 16:04:00 · 8215 阅读 · 0 评论