1.设在某通信系统中使用了八个字符,出现频率分别为0.08,0.05,0.1,0.12,0.26;0.18,0.14,0.07,试构造一棵哈夫曼树,给出哈夫曼编码,再写出先、中、后序遍历结果,最后将哈夫曼树转换森林。
构造哈夫曼树(结点内容为字符,为方便我们这里直接用字符出现频率代替结点内容)
哈夫曼编码
详情见本人博客:哈夫曼树及其应用
遍历结果:
详情见本人博客:先序、中序、后序遍历的具体过程
先序遍历:0.05、0.07、0.12、0.18、0.08、0.1、0.14、0.26
中序遍历:0.05、0.07、0.12、0.18、0.08、0.1、0.14、0.26
后序遍历:0.05、0.07、0.12、0.18、0.08、0.1、0.14、0.26
哈夫曼树转森林
(1)从根结点开始,如果存在右孩子,则删除连线
(2)分离
(3)将各个小树转为二叉树
详情见本人博客:树、森林、二叉树的转换