编程之美 4.5磁带文件存放优化

磁带的特性:线性存储、价格低廉、海量的存储空间

问题:设现在有n份文件长度为L[0]、L[1]、L[2]….L[n-1],访问概率为P[0]、P[1]、P[2]…P[n-1]

1.访问概率相等的情况下,如何安排存储顺序最好?

何为最好其实就是访问文件的平均长度最小,平均长度可以通过下式求得:

clip_image002

p相等的情况下=p*{n*L[0]+(n - 1)*L[1]+…+L[n-1]}

可以看出想让E(L)最小,只要把短的尽量往前放就可以了。

所以p相等时,按照文件长度由短到长存储最佳。

2.长度一样的情况下,如何安排呢?

通过上面的公式,可知概率越高放在前的,可以使E(L)越短,按访问概率从大到小排列文件最好。

3.长度与访问概率都不相同的情况下,又怎么安排呢?

举例观察:A、B文件长度分别为10、6,访问概率为0.4、0.6

B前A后,E(L)=0.6*6+0.4*(6+10)=10。(P/L分别为A:0.6/6=0.1,B:0.4/16=0.025)

A前B后,E(L)=0.4*10+0.6*(6+10)=13.6。(P/L分别为A:0.4/10=0.04,B:0.6/16=0.0375)

可以看出大概规律,就是P[i]/L[i]的值由大到小排列最佳。

转载于:https://www.cnblogs.com/Linkabox/p/3358351.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值