哈夫曼树的应用

Posted 渡万丈红尘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哈夫曼树的应用相关的知识,希望对你有一定的参考价值。

编码:

1.统计需要编码的文件中每个字符出现的次数,并排序

2.选取出现次数最少的两个字符,把两者次数之和放入序列中;

3.重复操作 2 直到完成;

4.左子树权为0 右子树权为1;

举例:

a 的编码为:00

b 的编码为:01

c 的编码为:100

d 的编码为:1010

e 的编码为:1011

f 的编码为:11

压缩:

过程和编码差不多,不同的是:编码是把编码输入到另一个文件中,而压缩是输入到同一个文件中,当然都要把每个字符对应的二进制码输入到文件中;

问题:

压缩汉字的时候 要使用unsigned char!!!这时ch读不到文件的结束标志,所以我们可以用函数feof来代替文件的结束标志EOF,最重要的是文件的打开方式一定要是二进制的形式打开否则读不到汉字字符,

以上是关于哈夫曼树的应用的主要内容,如果未能解决你的问题,请参考以下文章

王道数据结构5.2(树的应用)

王道数据结构5.2(树的应用)

王道数据结构5.2(树的应用)

数据结构-树哈夫曼树及其应用

哈夫曼树的应用

霍夫曼树和霍夫曼编码以及霍夫曼编码的应用