标题:求思路 和解释
只看楼主
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
结帖率:95.74%
已结贴  问题点数:100 回复次数:2 
求思路 和解释
哈夫曼编码压缩,比喻压缩一个文本.txt的文件,我把它压缩后。。。我要解压。。。。。。。。就必须内存里面有有这个哈夫曼的树啊。。。
我看了好多别人写的代码。。压缩和解压放在一起。。这样只是为做数据结构的题而已。。一点都不实用。。。
要想单独的把解压分开出来。。就要在要这棵哈夫曼树放到文件里面。。。
那这样很有可能保存树的文件+压缩的文件 可能会比原来的数据要高(自己这样觉得)

问一个小小的问题,是不是用写二进制 要怎么写 有点忘记了就用fwrite()就可以了吧
-_-

求指导 求指点 求思想。。。
搜索更多相关主题的帖子: 压缩 内存 二进制 
2011-11-02 20:55
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:100 
必须要用二进制方式,你需要自己设计一个文件格式。
比如头几个字节作为文件格式识别码,用以判断文件格式是否为你定义的压缩文件。
之后用两个字节记录哈夫曼表的大小,用以正确导入哈夫曼表和压缩后数据。
之后是哈夫曼表。
之后到文件结尾是压缩数据。
压缩数据可以按个人习惯补齐成字节、字、或双字。这都随意。
解压时根据上面的格式导入哈夫曼表并重建哈夫曼树,然后按树解析压缩数据就可以了。

重剑无锋,大巧不工
2011-11-02 21:57
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
得分:0 
回复 2楼 beyondyf
谢谢 果断结贴

用心做一件事情就这么简单
2011-11-02 23:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354095-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.479990 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved