还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
数据结构实验报告实验名称实验三树——哈夫曼编/解码器学生姓名班级班内序号学号日期2014年12月11日1.实验要求利用二叉树结构实现赫夫曼编/解码器基本要求
1、初始化Init能够对输入的任意长度的字符串s进行统计,统计每个字符的频度,并建立赫夫曼树
2、建立编码表CreateTable利用已经建好的赫夫曼树进行编码,并将每个字符的编码输出
3、编码Encoding根据编码表对输入的字符串进行编码,并将编码后的字符串输出
4、译码Decoding利用已经建好的赫夫曼树对编码后的字符串进行译码,并输出译码结果
5、打印Print以直观的方式打印赫夫曼树(选作)
6、计算输入的字符串编码前和编码后的长度,并进行分析,讨论赫夫曼编码的压缩效果测试数据IlovedataStructureIloveComputerIwilltrymybesttostudydataStructure.提示
1、用户界面可以设计为“菜单”方式能够进行交互
2、根据输入的字符串中每个字符出现的次数统计频度,对没有出现的字符一律不用编码
2.程序分析
2.1存储结构Huffman树给定一组具有确定权值的叶子结点,可以构造出不同的二叉树,其中带权路径长度最小的二叉树称为Huffman树,也叫做最优二叉树weightlchildrchildparent2-1-1-15-1-1-16-1-1-17-1-1-19-1-1-1weightlchildrchildparent2-1-155-1-156-1-167-1-169-1-17701713238165482967-
12.2关键算法分析
(1)计算出现字符的权值利用ASCII码统计出现字符的次数,再将未出现的字符进行筛选,将出现的字符及頻数存储在数组a[]中voidHuffman::Init{intnNum...。