首页 > 其他 > 详细

第四次上机报告

时间:2019-11-19 10:14:37      阅读:82      评论:0      收藏:0      [点我收藏+]

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

3.算法描述:运用贪心算法,一直取最小的长度的程序。(先是运用快排函数(sort())进行排序,再从数组开始取最小的程序装入磁带中,直到磁带装不下为止,用数组下标进行计数)

反证法:设a = {a1,a2,...,an}不包含最小长度的程序且它为最优解,b为最小长度的程序。

长度 :a1 > b

所以 b = {b,a2,...,an}也是最优解

b != a 与原题设矛盾。

所以最优解包含最小长度的程序

4.算法时间与空间复杂度的分析

时间复杂度,运用了sort()快排时间复杂度为O(nlog n),装数据和输入数据的算法均为O(n),所以时间复杂度为O(nlog n);

空间复杂度,sort()的空间复杂度为O(1),变量设置的时候运用到一维数组空间复杂度为O(n),所以空间复杂度为O(n);

5.心得体会

题目很难以理解,需要和队友多多学习

第四次上机报告

原文:https://www.cnblogs.com/szl666666/p/11887442.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!