第四章上机实践报告
实践题目名称
程序存储问题
问题描述
设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。
算法描述(贪心选择性质)
这道题是给定定长磁带的长度,然后给了很多个文件,里面的程序长度是不同的,最后要求的就是这个定长磁带可以存储的最多程序数,这道题的贪心策略就是将给定的程序数从小到大排序,将程序数从小到大存入,则存入的程序数是最多的
算法时间及空间复杂度的分析
时间复杂度:O(n)
空间复杂度:O(n)
对贪心算法的理解
采用贪心策略每一步都是当前情况的最优解,所有步骤完成之后就得到总的最优解,时刻注重贪心算法的两个性质,贪心选择性质和最优子结构性质
心得体会
要想降低代码的时间复杂度,要想代码不那么复杂,就得找到最优的贪心策略,可以达到事半功倍的效果,因此需要多做题,来不断巩固,不断变得熟练。