算法第四章上机实验报告
算法第四章上机实验报告
一, 实践题目名称:程序存储问题
二, 问题描述:设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。
三, 贪心选择策略:对程序的长度进行升序的排序,选择由小到大的顺序放入磁带,使放入的数量最多,直到放不下为止
代码:
四, 时间复杂度分析
对于sort(li,li+n)来说,时间复杂度为O(nlogn)
对于选择程序放入磁带来说,时间复杂度O(logn)
故时间复杂度:O(nlogn)
五,我对贪心算法的理解:贪心算法做出的选择只是在某种意义上的局部最优选择,并不从整体考虑,他总是在做出当前看来最好的选择。选择贪心算法的问题一般有两个重要性质:贪心选择性质和最优子结构性质。