c语言贪心算法例题及解答,(完整版)4+四+贪心算法+习题参考答案(28页)-原创力文档...

第四章作业 部分参考答案

1. 设有 n 个顾客同时等待一项服务。顾客 i 需要的服务时间为 t ,1 i n 。

i

应该如何安排 n 个顾客的服务次序才能使总的等待时间达到最小?总的等待时

间是各顾客等待服务的时间的总和。试给出你的做法的理由(证明) 。

策略 :

对 t 1 i n 进行排序, t t t , 然后按照递增顺序依次服务 i ,i ,..., i

i i1 i 2 in 1 2 n

即可。

解 析 : 设 得 到 服 务 的 顾 客 的 顺 序 为 j , j ,..., j , 则 总 等 待 时 间 为

1 2 n

T (n 1)tj 1 (n 2)t j 2 2t j n 2 t j n 1 , 则在总等待时间 T 中t j 1 的权重最大, t jn

的权重最小。故让所需时间少的顾客先得到服务可以减少总等待时间。

证明: 设 ti1 ti 2 t i n , ,下证明当按照不减顺序依次服务时,为最优策略。

记按照 i i i 次序服务时, 等待时间为 T ,下证明任意互换两者的次序, T

1 2 n

~

都不减。即假设互换 i , j (i j ) 两位顾客的次序,互换后等待总时间为 T ,则有

~

T T .

由于

T (n 1)t i1 (n 2)t i2 2tin 2 tin 1 ,

T (n 1)ti1 ( n 2)ti2 (n i)ti i (n j )tij 2ti n 2 ti n 1 ,

~

T (n 1)ti1 (n 2)ti 2 ( n i )ti j (n j )tii 2ti n 2 ti n 1 ,

则有

~

T T ( j i )(tij tii ) 0.

同理可证其它次序,都可以由 i i i 经过有限次两两调换顺序后得到,而

1 2 n

每次交换,总时间不减,从而 i i i 为最优策略。

1 2 n

2 . 字符 a ~ h 出现的频率分布恰好是前 8 个 Fibonacci 数,它们的 Huffman

编码是什么?将结果推广到 n 个字符的频率分布恰好是前 n 个 Fibo

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值