第四章作业 部分参考答案
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