算法第4章实践报告
1、实践题目
程序存储问题
2、问题描述
设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。
3、算法描述
首先对程序的长度进行排序,然后从小的长度的程序开始进行存放,并将长度进行累加,直至长度大于或等于磁带的长度。
4、算法时间及空间复杂度分析(要有分析过程)
首先排序使用sort()函数,其时间复杂度为n*lg(n),然后对各个程序的长度进行遍历累加,时间复杂度为n 所以时间复杂度为O(m*lg(n)),空间复杂度为O(1)
5、心得体会(对本次实践收获及疑惑进行总结)
贪心算法难就难在如何去简化,如何抽取出可以运用贪心算法的那个关键点。
平时直接处理数字,就忘了还可以将数据当成字符串来进行处理,有时候这样会将题目简化很多。