一:概念:不考虑整体最优,做出的选择只是在某种意义上的局部最优。 二:性质 (1)贪心选择性质:指所求问题的整体最优解可以通过一系列局部最优的选择。贪心算法可行 的第一个基本要素。对于一个具体问题,要确定它是否具有贪心选择性质,必须证明每一步所做 的贪心选择最终导致问题的整体最优解。 (2)最优子结 ...
分类:
编程语言 时间:
2019-11-20 19:33:12
阅读次数:
54
引论:相比与动态规划算法,贪心算法是比较容易理解的,其思想就在于得到当前状态下局部最好选择,当一个问题的最优解包含其子问题的最优解时,即每个贪心选择都是子问题的最优解,那么就能的到该问题的最优解了。本次上机实践的题目虽然不是特别难,但相比前两次,这一次上机实践的效率远低于上两次,因为在实践的时候被第 ...
分类:
编程语言 时间:
2019-11-18 18:49:54
阅读次数:
87
题目描述 给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 ...
分类:
编程语言 时间:
2019-11-18 15:37:30
阅读次数:
76
程序存储问题 题目: 解析: 这道题思路非常简单,就是选取最小的那几个程序放到磁盘里面,直到放不下为止。用贪心算法的思路来说,就是每个子问题都选取当前最小的程序,最终会得到整体的最优解。 由于使用sort函数,该算法的时间复杂度为O(nlogn);由于没有开辟新空间,所以空间复杂度为O(1)。 具体 ...
分类:
编程语言 时间:
2019-11-17 18:16:45
阅读次数:
112
算法第四章上机实践报告 一、 实践题目 4-1 程序存储问题 (90 分) 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序 ...
分类:
编程语言 时间:
2019-11-17 16:19:14
阅读次数:
84
这次的实践是第四章贪心算法的实践题目。 问题描述: 4-1 程序存储问题 (90 分) 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给 ...
分类:
编程语言 时间:
2019-11-17 14:29:04
阅读次数:
73
算法第四章上机实践报告 1.实践题目 程序存储问题 2.问题描述 n个程序都有长度,一个磁带长度为L,要求装入最多的程序。 3.算法描述(说明你的贪心策略,并且参考会场安排问题,利用反证法证明贪心选择和最优子结构性质) (1) 贪心策略:依次把长度最小的程序装入磁带,直到不能装入为止,装入数即为能装 ...
分类:
编程语言 时间:
2019-11-16 23:43:46
阅读次数:
91
实践题目 程序存储 问题描述 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程 ...
分类:
编程语言 时间:
2019-11-16 19:48:57
阅读次数:
79
一、技术总结 1. 这也是一个贪心算法问题,主要在于想清楚,怎么解决输出和最大,两个数组得确保符号相同位相乘,并且绝对值尽可能大。 2. 可以用两个vector容器存储,然后排序从小到大或是从大到小都可以,一次从两端开始相乘,保证符号相同。 二、参考代码 ...
分类:
其他好文 时间:
2019-11-13 16:31:13
阅读次数:
68
整理了程序员必须掌握的核心算法,并且给出了对应的优质文章以及资料 ...
分类:
编程语言 时间:
2019-11-13 13:04:22
阅读次数:
82