-
第三章算法实验报告
1.1 问题描述 7-1 最大子段和 (25 分) 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 1.2 算法描述 本题是要求 -
算法第三章上机实践报告
算法第三章实践报告 1.1问题描述--最短编辑距离 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符; (2)插入一个字符; (3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到 B的编辑距离,记为d -
算法第三章实践报告
算法第三章实践报告 1.1问题描述--最大子段和 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。要求算法的时间复杂度为O(n)。 1.2 算法描述 动态规划法 定 -
算法第三章上机实践报告
1问题描述 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 输入格式: 输入有两行: 第一行:n,代表要输入的数列的个数 第二行:n个数,数字之间用空格格开 输出格式: 最长单调递增子序列的长度 2算法描述 void solve() { for(int i = 1; i -
算法第三章上机实践报告
1. 实践报告任选一题进行分析。内容包括: 1.1 问题描述 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列。 输入格式: 输入有两行: 第一行:n,代表要输入的数列的个数 第二行:n个数,数字之间用空格格开 输出格式: 最长单调递增子序列的长度 1.2 算法描述 需要计算 -
算法第三章实验报告
1.7-3 最低通行费 (25 分) 1.1 问题描述 (1)左上角进,右下角出 (2)每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去——仅能向左或向下走 (3)经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去——经过的和 -
算法第三章上机实践报告
1. 实践报告分析 1.1 问题描述 设计一个O(n2)时间的算法,找出由n个数组成的序列的最长单调递增子序列 1.2 算法描述 输入一个序列,将其排序得到一个新的序列,并且是递增的,我们就可以将问题转化为求原序列和新序列的最长公共子序列 运用动态规划的思想,我们将子问题的结果继续在一个二维数组中, -
算法第三章上机实践报告
1. 实践报告任选一题进行分析 1.1 问题描述 1.2 算法描述 输入一个数组,该数组有n个数值,初始化maxSum和sum,将数组从左往右遍历,依次加num赋给sum,如果sum的值大于maxSum,则将sum赋给maxSum,即寻求序列如a[i]+a[i+1]+…+a[j]的子段和的最大值;如 -
算法第三章实验报告
7-1 最大子段和 (25 分) 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 输入格式: 输入有两行: 第一行是n值(1<= -
算法第三章上机实践报告
1.题目分析 1.1 问题描述:求给定整数序列的最大子段和 7-1 最大子段和 (25 分) 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度