第三章上机实践报告

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的二维数组辅助计算,节省了空间,虽然好像听到别人没有这个问题。总的来说,还是解决了我的一个盲区,也让我对动态规划的理解更深。

原文地址:https://www.cnblogs.com/ex-calibur/p/9917826.html

时间: 2024-11-08 12:12:16

第三章上机实践报告的相关文章

揭露动态规划真面目——算法第三章上机实践报告

算法第三章上机实践报告 一.        实践题目 7-2 最大子段和 (40 分) 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值.当所给的整数均为负数时,定义子段和为0. 要求算法的时间复杂度为O(n). 输入格式: 输入有两行: 第一行是n值(1<=n<=10000): 第二行是n个整数. 输出格式: 输出最大子段和. 输入样例: 在这里给出一组输入.例如: 6 -2 11 -4 13 -5

『嗨威说』算法设计与分析 - PTA 数字三角形 / 最大子段和 / 编辑距离问题(第三章上机实践报告)

本文索引目录: 一.PTA实验报告题1 : 数字三角形 1.1 实践题目 1.2 问题描述 1.3 算法描述 1.4 算法时间及空间复杂度分析 二.PTA实验报告题2 : 最大子段和 2.1 实践题目 2.2 问题描述 2.3 算法描述 2.4 算法时间及空间复杂度分析 三.PTA实验报告题3 : 编辑距离问题 3.1 实践题目 3.2 问题描述 3.3 算法描述 3.4 算法时间及空间复杂度分析 四.实验心得体会(实践收获及疑惑) 一.PTA实验报告题1 : 数字三角形 1.1 实践题目: 1

算法第三章上机实践报告——动态规划

1.实践题目 7-1 数字三角形 (30 分) 给定一个由 n行数字组成的数字三角形如下图所示.试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大. 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100. 接下来 n行是数字三角形各行中的数字.所有数字在0..99 之间. 输出格式: 输出最大路径的值. 输入样例: 在这里给出一组输入.例如: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6

算法第三章上机实践报告

实践题目 7-1 数字三角形 (30 分) 给定一个由 n行数字组成的数字三角形如下图所示.试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大. 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100. 接下来 n行是数字三角形各行中的数字.所有数字在0..99 之间. 输出格式: 输出最大路径的值. 输入样例: 在这里给出一组输入.例如: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5

算法第三章上机实践报告之数字三角形

1.实践题目 7-1 数字三角形 (30 分) 给定一个由 n行数字组成的数字三角形如下图所示.试设计一个算法,计算出从三角形 的顶至底的一条路径(每一步可沿左斜线向下或右斜线向下),使该路径经过的数字总和最大. 输入格式: 输入有n+1行: 第 1 行是数字三角形的行数 n,1<=n<=100. 接下来 n行是数字三角形各行中的数字.所有数字在0..99 之间. 输出格式: 输出最大路径的值. 输入样例: 在这里给出一组输入.例如: 5 7 3 8 8 1 0 2 7 4 4 4 5 2 6

贪心算法?我全都要!——算法第四章上机实践报告

算法第四章上机实践报告 一.        实践题目 4-1 程序存储问题 (90 分) 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上.程序i存放在磁带上的长度是 li,1≤i≤n. 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序. 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数. 输入格式: 第一行是2 个正整数,分别表示文件个数n和磁带的长度L.接下来的1行中,有n个正整数,表示程序存放在磁带上的长度. 输出

09.19算法第二章上机实践报告

算法第二章上机实践报告 https://edu.cnblogs.com/campus/gdwywm/se1803/homework/7608 1.实践题目 7-3 两个有序序列的中位数 https://pintia.cn/problem-sets/1173827583729741824/problems/1173827629514764290 2.问题描述 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数.有序序列A ?0 ?? ,A ?1 ?? ,?,A ?N−1 ?

『嗨威说』算法设计与分析 - 算法第二章上机实践报告(二分查找 / 改写二分搜索算法 / 两个有序序列的中位数)

本文索引目录: 一.PTA实验报告题1 : 二分查找 1.1 实践题目 1.2 问题描述 1.3 算法描述 1.4 算法时间及空间复杂度分析 二.PTA实验报告题2 : 改写二分搜索算法 2.1 实践题目 2.2 问题描述 2.3 算法描述 2.4 算法时间及空间复杂度分析 三.PTA实验报告题3 : 两个有序序列的中位数 3.1 实践题目 3.2 问题描述 3.3 算法描述 3.4 算法时间及空间复杂度分析 四.实验心得体会(实践收获及疑惑) 一.PTA实验报告题1 : 二分查找 1.1 实践

第二章上机实践报告

实践报告任选一题进行分析.内容包括: 实践题目: 7-1 二分查找 (20 分) 输入n值(1<=n<=1000).n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 输入格式: 输入共三行: 第一行是n值: 第二行是n个整数: 第三行是x值. 输出格式: 输出x所在的下标(0~n-1)及比较次数.若x不存在,输出-1和比较次数. 问题描述:问题是让我们设计一个二分查找,在已经输入的数组里找到我们输入的数字,