| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1813 人关注过本帖
标题:哈夫曼压缩程序程序。。
只看楼主 加入收藏
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:14 
把你得思路说出来 我看看~ 能不能给你提供一些意见!

君生我未生 我生君以老
2011-11-09 15:16
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
回复 11楼 jcw08120110
嘿嘿,果断地重新写这个程序,把每个地方都重新验证是否正确。。。竟然发现我自己的编码都好像有错误了。。。
不在调了。。

思路:根据长度的位来表示字符,从而进行压缩。。。

1:根据待压缩的文件内容先构建哈弗曼树。
2:然后把每个字符的编码求出来。。
3:然后进行核心的地方 把待压缩的文件内容转换为8位的一个字符 进行压缩。然后写入文件。
4: 然后还要写入一些别的信息到文件中。。。
5.解码就是反方向了。。。。
思路还是蛮简单。。。
主要是文件的处理的细节有点问题。。
比如:
文本 abcdf
fgetc 和fread();有点区别。。。
unsigend char c;
while(!feof())
{
  c=fgetc("文件指针");
  putchar(c);
}
和下面
while(!feof())
{
  fread(&c,1,1,文件指针);
  putchar(c);
}
上面能够正常读出abcdf来但会读一个回车还是什么的特殊符号。。。
下面会读出absdff 多出一个字符来。。
这样权值就会出现差别。。。
----------

用心做一件事情就这么简单
2011-11-09 20:32
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
收藏
得分:14 
本人有发表过一个HUFFMAN压缩解压程序,你可以去下下来参考下,里面有详细的注释。
https://bbs.bccn.net/thread-333003-1-1.html
收到的鲜花
  • 小鱼儿c2011-11-10 19:10 送鲜花  3朵   附言:谢谢你。

在虚拟的世界中寻找目标。
2011-11-10 09:12
jcw08120110
Rank: 8Rank: 8
来 自:南京
等 级:蝙蝠侠
帖 子:272
专家分:742
注 册:2009-6-8
收藏
得分:0 
回复 12楼 小鱼儿c
这个我倒是不了解!语法细节是我的弱项! 我不怎么用C!平时都用C++!

君生我未生 我生君以老
2011-11-10 15:18
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
回复 13楼 faminxmu
但我发现你的压缩后的文件比你原来的文件还要大。。
而且解压解不出来。。
取消的健没有用。。

用心做一件事情就这么简单
2011-11-10 19:12
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 

我来把我到网上找的写的比较好的源代码共享出来。。。
看看他们的。。。。
一个是c++ 一个c的
利用哈夫曼编码实现文件压缩.zip (25.5 KB)

用心做一件事情就这么简单
2011-11-10 19:14
小鱼儿c
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:14
帖 子:852
专家分:1317
注 册:2011-4-1
收藏
得分:0 
分享数据结构书籍 感谢大家帮忙。。。。。。
https://bbs.bccn.net/viewthread.php?tid=354886&extra=page%3D1&frombbs=1
后天要考程序员,我书才看。。原来要考那么多。。我勒个去。。有点压力啊。。。

用心做一件事情就这么简单
2011-11-10 19:56
lucy1289
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-6-5
收藏
得分:0 
楼主,您可以把网上的代码发给我一下吗?我下找了好久关于图像压缩的,可是都没有找到完整的,都是乱起八糟,没有工程和注释,都看不懂。我是新手QQ:565690710
谢谢楼主帮忙。
2012-06-05 11:15
海中小渔
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-4-24
收藏
得分:0 
不知道得到哈夫曼编码后该怎么做了 想请教下!
2016-05-04 21:01
快速回复:哈夫曼压缩程序程序。。
数据加载中...
 
   



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

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