算法第三章上机实践报告,编辑距离问题
实践报告任选一题进行分析。内容包括: 实践题目 问题描述 算法描述 算法时间及空间复杂度分析(要有分析过程) 心得体会(对本次实践收获及疑惑进行总结) 1.实践题目 7-3 编辑距离问题 (30 分) 2.问题描述 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 B的编辑距离,记为d(A,B)。 对于给定的字符串A和字符串B,计算其编辑距离 d(A,B)。 输入格式: 第一行是字符串A,文件的第二行是字符串B。 提示:字符串长度不超过2000个字符。 输出格式: 输出编辑距离d(A,B) 输入样例: 在这里给出一组输入。例如: fxpimu xwrs 输出样例: 在这里给出相应的输出。例如: 5 3.算法描述 这道题是类似于最长子串匹配的题目,不过要更深入一些,首先令m[a][b]为 字符串s1下标从0到a-1组成的字符串 与 字符串从s2下标0到b-1组成的字符串的最优编辑距离,接着用动态规划的思想分析m[a][b]与它的子问题是什么关系。通过分析,我们能分析出m[a][b]的表达式: 当s1[a-1] = s2[b-1] 当字符串s1[a-1]和s2[b-1]相等时,则不用对末位s1[a-1]和s2