哈夫曼_编码_报告.pdf
《哈夫曼_编码_报告.pdf》由会员分享,可在线阅读,更多相关《哈夫曼_编码_报告.pdf(16页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、-1-计算机设计报告课题:哈夫曼树在通信编码中的应用专业班级:学号:姓名:指导教师:完成日期:2010 年 5 月 10 日-2-目录目录,2 一、问题描述,3 二、基本要求,3 三、数据结构的设计,3 四、程序设计思想,3 五、软件模块结构图,4 六、程序流程图,4(1)主程序,5(2)构造哈弗曼树,6(3)哈弗曼编码,7(4)哈弗曼译码,8 七、调试数据分析,8 八、用户使用手册,11 九、心得体会,11 十、源程序,13 文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10
2、文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:C
3、Y4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3
4、A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 H
5、M5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3
6、P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 Z
7、D6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F1
8、0S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10-3-一、问题描述设一段电文中有不同出现频率的字符,为了提高电文的输入和翻译效率,必须有一套简短而又不会产生歧义的字符代码。试根据哈夫曼算法,对电文中的不同字符,构造出一棵哈夫曼树,对每个字符进行编码。二、基本要求给定一篇电文根据哈弗曼算法编程构造哈弗曼树,对电文中不同的字符进行哈弗曼编码:扩展功能:根据哈弗曼编码进行译码三、数据结构
9、的设计由于哈弗曼树是由节点构成,每个节点都有如下5 个属性letter,weight,parent,lchild,rchild;节点之间的关系又由parent,和lchild,rchild连带,因此定义结构体类型数组HTi 来表示哈弗曼树各个节点,整棵哈弗曼树用各节点间的关系表示建好哈弗曼树,各字符对应的哈弗曼编码本质上为字符串,定义字符串数组 HCi 来存储哈弗曼编码四、程序设计思想本程序是用最优二叉树即哈夫曼树来实现哈夫曼编码译码的功能。假设每种字符在电文中出现的次数为Wi,编码长度为Li,电文中有n 种字符,则电文编码总长度为(W1*L1)+(W2*L2)+,+(Wi*Li)+(Wn*L
10、n)。若将此对应到二叉树上,Wi为叶结点,Li 为根结点到叶结点的路径长度。那么,(W1*L1)+(W2*L2)+,+(Wi*Li)恰好为二叉树上带权路径长度 WPL。但是由相同权值的一组叶子结点所构成的二叉树有不同的形态和不同的带权路径长度,那么如何找到带权路径长度最小的二叉树(即哈夫曼树)呢?根据哈夫曼树的定义,一棵二叉树要使其WPL 值最小,必须使权值越大的叶子结点越靠近根结点,而权值越小的叶子结点越远离根结点。哈夫曼(Haffman)依据这一特点提出了一种方法,这种方法的基本思想是:(1)由给定的 n 个权值 W1,W2,,,Wn 构造 n 棵只有一个叶子结点的二叉树,文档编码:CY4
11、M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4
12、B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5
13、C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7
14、Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6
15、T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S
16、8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档
17、编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10-4-从而得到一个二叉树的集合FT1,T2,,,Tn;(2)在 F 中选取根结点的权值最小和次小的两棵二叉树作为左、右子树构造一棵新的二叉树,这棵新的二叉树根结点的权值为其左、右子树根
18、结点权值之和;(3)在集合 F 中删除作为左、右子树的两棵二叉树,并将新建立的二叉树加入到集合 F 中;(4)重复(2)(3)两步,当 F 中只剩下一棵二叉树时,这棵二叉树便是所要建立的哈夫曼树。这样,对于同一组给定叶子结点所构造的哈夫曼树,树的形状可能不同,但带权路径长度值是相同的,一定是最小的。五、软件模块结构图六、程序流程图文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4
19、M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4
20、B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5
21、C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7
22、Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6
23、T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S
24、8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档
25、编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10-5-1).主程序流程图:文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10S8Y10文档编码:CY4M6B3A4B9 HM5C4Z3P7Y3 ZD6T8F10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈夫曼 编码 报告
限制150内