1.考虑用哈夫曼算法来找字符a,b,c,d,e,f 的最优编码。这些字符出现在文件中
的频数之比为 20:10:6:4:44:16。要求:
(1)(4 分)简述使用哈夫曼算法构造最优编码的基本步骤;
(2)(5 分)构造对应的哈夫曼树,并据此给出a,b,c,d,e,f 的一种最优编码。
解:1)、哈夫曼算法是构造最优编码树的贪心算法。其基本思想是,首先所
有字符对应n 棵树构成的森林,每棵树只有一个结点,根权为对应字符的频率。然后,重复
下列过程n-1 次:将森林中的根权最小的两棵树进行合并产生一个新树,该新树根的两个子
树分别是参与合并的两棵子树,根权为两个子树根权之和。
2)、根据题中数据构造哈夫曼树如下图所示。
由此可以得出 a,b,c,d,e,f 的一组最优的编码:01,0000,00010,00011, 1,001。
2.
设有n=2k个运动员要进行循环赛,现设计一个满足以下要求的比赛日程表:
每个选手必须与其他n-1名选手比赛各一次;每个选手一天至多只能赛一次;
循环赛要在最短时间内完成.
(1)(4分)循环赛最少需要进行( n-1 )天.
(2)(6分)当n=23=8时,请画出循环赛日程表:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
2 |
1 |
4 |
3 |