算法第四章实践报告

1、实践题目:程序存储问题

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

3、算法描述:

定义一个sum,先把

需要存放的程序从小到大排好序,从第一个程序开始放,sum=sum+这个程序,判断磁带空间与sum的大小,若磁带空间比sum大,则可放程序数加一,若磁带空间比sum小则返回输出可加程序数。

4、算法时间及空间复杂度分析:算法时间复杂度为O(n),算法中有两个循环,最大的循环次数为n。所以时间复杂度为O(n)。算法中用到一个1000的一维数组保存元素,所以空间复杂度为O(1)。

5、心得体会:贪心算法的题还是比较容易做的,只要想出当前的最优选择就行了。结对编程真的可以大大加快解题速度。

posted @ 2018-12-02 10:44  Joker灬丶  阅读(114)  评论(0编辑  收藏  举报