算法第四章上机实践报告
Posted heibaipei123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法第四章上机实践报告相关的知识,希望对你有一定的参考价值。
1. 实践题目
程序存储问题
2. 问题描述
设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。
3. 算法描述(说明你的贪心策略,并且参考会场安排问题,利用反证法证明贪心选择和最优子结构性质)
贪心策略:优先选择程序长度最小的单位,
反证法证明贪心选择:假设存在一个最优解不包含程序长度最小的程序,则将最小的程序与最优解其中任意程序替换,仍可得出一个新的最优解,所以最优解包含长度最小的程序
最优子结构性质:假设所有的程序为集合N,集合A,集合B,集合X都是集合N的子集,集合A为集合N-集合X的贪心算法选择,集合B为集合N-集合X的某种选择,若最优解为集合C = 集合B + 最优选择(集合X)
但存在集合C‘ = 集合A + 最优选择(集合X) 因为集合A的个数因为贪心算法>=集合B的个数,所以C<=C’ 所以C‘的集合才是最优解,所以具有最优子结构
4. 算法时间及空间复杂度分析(要有分析过程)
只需要一次快排取从最小的开始遍历即可
O(nlogn)
5. 心得体会(对本次实践收获及疑惑进行总结)
通过证明更加理解了贪心算法,也掌握另一种新的算法,重点在于如何选择正确的贪心策略
以上是关于算法第四章上机实践报告的主要内容,如果未能解决你的问题,请参考以下文章