首页 开发技术 C++     /    哈夫曼树实现文件压缩和解压(源程序+实验报告)

哈夫曼树实现文件压缩和解压(源程序+实验报告)

上传者: yuhentian | 上传时间:2015/1/22 5:01:49 | 文件大小:140KB | 文件类型:rar
哈夫曼树实现文件压缩和解压(源程序+实验报告)
综合实验:1.问题描述利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。
这要求在发送端通过一个编码系统对待传输数据预先编码,在接收端将传来的数据进行译码(复原)。
对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。
试为这样的信息收发站编写一个哈夫曼码的编/译码系统。
2.基本要求一个完整的系统应具有以下功能:(1)I:初始化(Initialization)。
从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。
(2)E:编码(Encoding)。
利用已建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。
(3)D:译码(Decoding)。
利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件Textfile中。
(4)P:印代码文件(Print)。
将文件CodeFile以紧凑格式显示在终端上,每行50个代码。
同时将此字符方式的编码文件写入文件CodePrin中。
(5)T:印哈夫曼树(Treeprinting)。
将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上,同时将此字符方式的哈夫曼树写入文件TreePrint中。
3.测试数据用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THISPROGRAMEISMYFAVORITE”。
字符ABCDEFGHIJKLM频度1866413223210321154757153220字符NOPQRSTUVWXYZ频度5763151485180238181161

文件下载

资源详情

[{"title":"(15个子文件140KB)哈夫曼树实现文件压缩和解压(源程序+实验报告)","children":[{"title":"哈夫曼树实现文件压缩和解压","children":[{"title":"哈夫曼树实现文件压缩和解压实验报告.doc <span style='color:#111;'>226.00KB</span>","children":null,"spread":false},{"title":"哈夫曼树实现文件压缩和解压源程序","children":[{"title":"ToBeTran.txt <span style='color:#111;'>27B</span>","children":null,"spread":false},{"title":"文本压缩和解压.plg <span style='color:#111;'>1.27KB</span>","children":null,"spread":false},{"title":"hfmTree.txt <span style='color:#111;'>340B</span>","children":null,"spread":false},{"title":"CodePrin.txt <span style='color:#111;'>122B</span>","children":null,"spread":false},{"title":"TextFile.txt <span style='color:#111;'>27B</span>","children":null,"spread":false},{"title":"文本压缩和解压.dsp <span style='color:#111;'>4.39KB</span>","children":null,"spread":false},{"title":"文本压缩和解压.ncb <span style='color:#111;'>73.00KB</span>","children":null,"spread":false},{"title":"TreePrint.txt <span style='color:#111;'>1.82KB</span>","children":null,"spread":false},{"title":"main.cpp <span style='color:#111;'>1.21KB</span>","children":null,"spread":false},{"title":"文本压缩和解压.opt <span style='color:#111;'>47.50KB</span>","children":null,"spread":false},{"title":"HaffmanTree.h <span style='color:#111;'>6.48KB</span>","children":null,"spread":false},{"title":"CodeFile.txt <span style='color:#111;'>118B</span>","children":null,"spread":false},{"title":"文本压缩和解压.dsw <span style='color:#111;'>536B</span>","children":null,"spread":false},{"title":"readme.txt <span style='color:#111;'>1.29KB</span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}]

评论信息

  • baidu_39623679:
    还可以,比较全2017-12-02
  • baidu_39623679:
    还可以,比较全2017-12-02
  • ggglivw:
    不好用,虽然是c++,代码质量不高2017-03-08
  • ggglivw:
    不好用,虽然是c++,代码质量不高2017-03-08
  • cymycs:
    可惜不是C的2016-03-04
  • 火山边的三棵树:
    可惜不是C的2016-03-04
  • jaina_proudmoore:
    一般般吧,没有什么大作用2015-11-20
  • Jaina_Proudmoore:
    一般般吧,没有什么大作用2015-11-20
  • cuglhzabc:
    说的比较清晰,对初学者了解哈夫曼基本原理很有帮助2015-09-27
  • cuglhzabc:
    说的比较清晰,对初学者了解哈夫曼基本原理很有帮助2015-09-27

免责申明

【好快吧下载】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【好快吧下载】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【好快吧下载】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,8686821#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明