您的位置:首页 > 编程语言 > Python开发

经典算法的Python实现(5)

2016-01-08 15:37 513 查看
写在前面的话:

学习米铺高级架构师的博文中算法的内容,试着将里面的例子用Python加以实现,尚属练习,不足之处请指正。


文章参考地址:经典算法专题

第五题 字符串相似度

问题描述

概念介绍:字符串相似度

解题思路

跟“最长公共子序列”一样,我们采用一个二维数组来保存字符串X和Y当前的位置的最小编辑距离。

现有两个序列X=x1,x2,x3,...xiX={x_1,x_2,x_3,...x_i},Y=y1,y2,y3,....,yiY={y_1,y_2,y_3,....,y_i},

设一个C[i,j]C[i,j]: 保存XiX_i与YjY_j的当前最小的LD。

①: 当Xi=Yi X_i = Y_i 时,则C[i,j]=C[i−1,j−1]C[i,j]=C[i-1,j-1];

②:当 Xi!=YiX_i != Y_i 时, 则C[i,j]=Min{C[i−1,j−1],C[i−1,j],C[i,j−1]}C[i,j]=Min\{C[i-1,j-1],C[i-1,j],C[i,j-1]\};

最终我们的C[i,j]C[i,j]一直保存着最小的LD。

代码实现


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: