算法第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、心得体会(对本次实践收获及疑惑进行总结)

  贪心算法难就难在如何去简化,如何抽取出可以运用贪心算法的那个关键点。

  平时直接处理数字,就忘了还可以将数据当成字符串来进行处理,有时候这样会将题目简化很多。

posted @ 2018-11-30 23:35  倔强的不死人  阅读(112)  评论(0编辑  收藏  举报