第四章实践报告

1.实践题目

  7-3 程序存储问题 

2.问题描述

设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是 li,1≤i≤n。 程序存储问题要求确定这n 个程序在磁带上的一个存储方案, 使得能够在磁带上存储尽可能多的程序。 对于给定的n个程序存放在磁带上的长度,计算磁带上最多可以存储的程序数。

输入格式:

第一行是2 个正整数,分别表示文件个数n和磁带的长度L。接下来的1行中,有n个正整数,表示程序存放在磁带上的长度。

输出格式:

输出最多可以存储的程序数。

输入样例:

在这里给出一组输入。例如:

6 50 
2 3 13 8 80 20

输出样例:

在这里给出相应的输出。例如:

5

 

3.算法描述

本题题目要求存储尽可能多的程序数,用贪心算法的思想就可以解决,先将程序按存放长度由短到长排好序,

然后先将较小的程序放进磁带中,直到磁带放不下了,就停止,达到存放最多的程序数量。

 

 

4.算法时间及空间复杂度分析(要有分析过程)

 

只进行n次循环,得出时间复杂度为O(n)

程序中只需申请数组空间,可得出空间复杂度为O(n)

5.心得体会(对本次实践收获及疑惑进行总结)

经过本次实践对贪心算法策略有了进一步的了解和体会,贪心算法关键要掌握好贪心选择原则的问题。

你可能感兴趣的:(第四章实践报告)