第三章上机实践报告

1.实践题目

7-3 编辑距离问题

2.问题描述

设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 B的编辑距离,记为d(A,B)。 对于给定的字符串A和字符串B,计算其编辑距离 d(A,B)。

3.算法描述

填表,先给第一行赋初值,然后每个格填入它左边,正上方和左上角这三个数的最小值,最后右下角的数即为问题的解。

4.算法时间及空间复杂度分析

时间复杂度为O(n*n),2个for循环;空间复杂度为O(n*n),需要一个辅助数组dis[][]。

5.心得体会

一开始算法出现段错误时很疑惑,后来跟同学一讨论才知道2000*2000的二维数组太大,在之后便参考了课本了算法的改进,用了2*2000的二维数组辅助计算,节省了空间,虽然好像听到别人没有这个问题。总的来说,还是解决了我的一个盲区,也让我对动态规划的理解更深。

 

posted @ 2018-11-06 20:31  calibun  阅读(196)  评论(0编辑  收藏  举报