码迷,mamicode.com
首页 > 其他好文 > 详细

哈夫曼树的应用

时间:2018-02-03 18:58:36      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:info   文件的   alt   一个   需要   技术分享   另一个   哈夫曼树   完成   

编码:

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

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

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

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

举例:

技术分享图片

a 的编码为:00

b 的编码为:01

c 的编码为:100

d 的编码为:1010

e 的编码为:1011

f 的编码为:11

压缩:

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

问题:

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

哈夫曼树的应用

标签:info   文件的   alt   一个   需要   技术分享   另一个   哈夫曼树   完成   

原文地址:https://www.cnblogs.com/Sky-Aces/p/8410190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!