【动态规划】序列连配问题:编辑距离
2018-03-17 20:37
267 查看
问题描述
动态规划求解
伪代码
插入删除均为-3,match为+1,dismatch为-1
python实现
# -*- coding:utf-8 -*- # 动态规划-序列连配问题:编辑距离 import numpy as np def Needleman_Wunch(S, T): opt = np.zeros((len(T)+1, len(S)+1)) for i in range(len(S)+1): opt[0][i] = -3 * i for j in range(len(T)+1): opt[j][0] = -3 * j for i in range(1, len(T)+1): for j in range(1, len(S)+1): if T[i-1]==S[j-1]: x = 1 else: x = -1 opt[i][j] = max([opt[i-1][j-1] + x, opt[i][j-1] -3, opt[i-1][j]-3]) print(opt) return opt[len(T), len(S)] S = 'OCURRANCE' T = 'OCCURRENCE' print(Needleman_Wunch(S, T))
4000
相关文章推荐
- 算法:编辑距离问题(动态规划)
- 动态规划——最大子序列、最长递增子序列、最长公共子串、最长公共子序列、字符串最小编辑距离日记整理
- [动态规划]背包问题(找零/子集和/编辑距离)
- 51nod 编辑距离问题(动态规划)
- 动态规划求解编辑距离问题
- 动态规划求解编辑距离问题
- 动态规划求解编辑距离问题
- java--动态规划--编辑距离问题
- 动态规划求解编辑距离问题(转)
- 动态规划求解编辑距离问题
- 编辑距离问题——动态规划
- 动态规划问题学习路线:斐波那契数列,最大递增子序列,松鼠捡苹果,最大公共子序列,字符串编辑距离
- 算法_动态规划_编辑距离问题
- 动态规划 编辑距离
- [CodeVS 2598] 编辑距离问题
- POJ 3356(最短编辑距离问题)
- NOJ 1224 编辑距离问题 (线性dp 分类)
- 动态规划解决最长子序列问题
- 编辑距离问题
- 动态规划之最大k乘积,编辑距离,k好数,节点选择,背包问题