磁带的最优存储(贪心算法)
来源:互联网 发布:mac发热严重怎么办 编辑:程序博客网 时间:2024/05/01 11:15
题目:磁带的最优存储:假定有n个程序需存放在长度为L的磁带上,每一个程序i有长度l(i),1<=i<=n,l(1)+l(2)+....+l(n)<=L.假定无论什么时候,检索该带上的某个程序时,带的位置都处于始端。因此,若程序按I=i(1),i(2)...i(n)存放时,则检索时间i(j)的时间t(j)为l[i(1)]+l[i(2)]+...+l[i(j)],如果各程序的检索机会相等,则期望检索时间为[t(1)+t(2)+...+t(n)]/n.试给出一个贪心算法,找出n个程序的一种排列,证明当他们按此顺序存放时,能使期望检索时间最少。
算法思想:
最短时间设想:(贪心策略)
因为程序长度和检索该程序的时间成正比,输入个程序后,先按程序长度由小到大序,即程序短的放前面。则由题意的检索方法可知该方法检索时间最短。
算法过程:
1、输入n和L[1] 、L[2] 、… 、L[n] 。
2、将L数组从小到大排序。
3、计算出各个程序的从头查找的检索时间T[i]
4、计算出最优存储的平均检索时间 ST
算法证明:
假设排序后的理想最优序列为:A1、A2、…、An
则对于检索的平均调度时间为:
ST=(0+A1+(A1+A2)+(A1+A2+A3)+...+(A1+A2+…+An-1)) / n
=((n-1)A1+(n-2)A2+...+An-1) / n
利用反正法思想
假设存在一个序列B1、B2、…、Bn的平均调度时间小于上面的贪心策略时间,则至少存在A1,A2,...,Aj,...,Ai,...An,使得Aj>Ai, 且j>i 。
那么(n-i)Aj+(n-j)Ai>(n-i)Ai+(n-j)Aj,
与最优解矛盾,故贪心解为最优解。
- 磁带的最优存储(贪心算法)
- 贪心算法☞磁带最优存储问题
- 磁带的最优存储问题(贪心选择)
- 贪心算法作业之磁带最优存储问题与磁盘文件最优存储问题
- 磁带最优存储问题(贪婪算法)
- 磁带最优存储问题
- 磁带最优存储问题
- 贪心算法☞磁盘文件最优存储问题
- 贪心算法-最优装载
- 不可或缺的LTO磁带存储
- 最优装载(贪心算法)
- 最优分解问题-贪心算法
- 贪心算法:最优分解问题
- 贪心算法 最优装载问题
- 贪心算法之最优装船
- 贪心算法之最优装载
- 最优装载问题--贪心算法
- 最优分解(贪心算法)
- 套打
- 一项失败的工作(续)
- 用JSP smartupload 上次图片简单实例
- 企业内部USB存储设备的安全解决方案该如何做才好
- C# Socket开发之异步
- 磁带的最优存储(贪心算法)
- CSDN 成为了技术 SNS
- C# Socket开发之同步
- javascript 知识
- jspsmartupload 详细实例(1)
- 一个多socket绑定同一个端口的测试程序
- jspsmartupload 详细实例(2)
- 奇瑞汽车集团如何解决内部信息安全
- DDL.DML