电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构-哈夫曼编码实验报告

数据结构-哈夫曼编码实验报告_第1页
1/6
数据结构-哈夫曼编码实验报告_第2页
2/6
数据结构-哈夫曼编码实验报告_第3页
3/6
实验报告实验课名称:数据结构实验实验名称:文件压缩问题班级:20 1 32 0 12学号:姓名:时间:2015-6-9一、问题描述 哈夫曼编码就是一种常用得数据压缩技术,对数据文件进行哈夫曼编码可大大缩短文件得传输长度,提高信道利用率及传输效率.要求采纳哈夫曼编码原理,统计文本文件中字符出现得词频,以词频作为权值,对文件进行哈夫曼编码以达到压缩文件得目得,再用哈夫曼编码进行译码解压缩。二、数据结构设计首先定义一个结构体: str uct h e ad{unsig n ed c h ar b; //记录字符long count; //权重in t pa r ent,lch,r c h; //定义双亲,左孩子,右孩子c har b i ts[2 5 6]; //存放哈夫曼编码得数组}he ade r[51 2],tmp; //头部一要定设置至少51 2个,因为结点最多可达256,所有结点数最多可达 511三、算法设计输入要压缩得文件读文件并计算字符频率根据字符得频率 ,利用 H u ffman编码思想创建 Huffm a n 树由创建得 Huffm a n 树来决定字符对应得编码,进行文件得压缩解码压缩即根据H uffma n树进行译码设计流程图如图 1、1 所示.ﻩ图 1、1 设计流程图(1)压缩文件统计字符,得出统计出字符得权值n建立哈夫曼树生成二进制文件对二进制文件进行解码根据哈夫曼树编码对编码进行压缩生成对应文件根据哈夫曼树解码生成哈夫曼树输入一个待压缩得文本文件名称(可带路径)如:D:\l u\l u、txt 统计文本文件中各字符得个数作为权值,生成哈夫曼树;将文本文件利用哈夫曼树进行编码,生成压缩文件。压缩文件名称=文本文件名、CO D 如:D:\l u\lu、CO D 压缩文件内容=哈夫曼树得核心内容+编码序列fo r(i n t i=0;i<256;i++){ head e r[i]、coun t=0; //初始化权重 h e a d er[i]、b=(un s igned ch a r)i; //初始化字符}i fstr ea m in);wh i le(in()!=EO F){ i n((char *)&t emp,sizeof(un s ig ne d c ha r)); //读入一个字符 h ead er[t e m p]、c ount++; //统计对应结点字符权重 f l engt h++; //统计文件长度}i n(); //关闭文件for(i=0;i<25 6-1;i++) //对结点进行冒泡排序,权重大得放在上面,编码时效率高 fo r(i n t j=0;j<2 5 6-1-i;j++) i f(heade r[j]、c o ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构-哈夫曼编码实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部