-
第四章贪心算法实验报告
1.问题描述 4-2 删数问题 (30 分) 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最小的删数方案。如果数字最前面有0不输出。 输入格式: 第 1 行是1 个正整数 a。第 2 -
算法第四章作业
1.题目是程序存储问题;策略是优先选择长度短的程序,使可以存储的程序尽可能多;时间复杂度是O(n),for循环从0到n-1进行循环,所以是O(n)。 2.贪心算法一般没那么复杂,比较容易理解,并且可以求出目前的最优解。贪心算法要先选好贪心策略,这个策略要最能满足题目的要求,然后根据策略写代码。 -
贪心策略------删数问题
4-2 删数问题 (30 分) 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最小的删数方案。如果数字最前面有0不输出。 输入格式: 第 1 行是1 个正整数 a。第 2 行是正整数k。 -
算法第三次上机实验报告
1. 实践报告任选一题进行分析。内容包括: 问题描述 题目: 求最大子段和 问题描述: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 算法描述 设一个数组a[ -
算法第三章上机实践报告
最大子段和问题 1.1问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 1.2解题思路 需要用到动态规划,即当前的最大子 -
第三章实验报告
1.1 问题描述: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 1.2 算法描述: #include<bits/stdc++ -
算法第三章实践报告
一、实践题目名称 最大子段和 二、问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n) 三、算法描述 分析题目,要求最大子段和 -
算法第三章上机实践报告
1.1问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 1.2算法描述 #include<bits/stdc++.h>u -
算法设计与分析——3
第三章实验报告 -
算法第三章实践报告
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 算法描述 设一个数组