1 / 26
文档名称:

哈夫曼树.doc

格式:doc   大小:2,997KB   页数:26页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

哈夫曼树.doc

上传人:916581885 2021/12/10 文件大小:2.93 MB

下载得到文件列表

哈夫曼树.doc

相关文档

文档介绍

文档介绍:哈夫曼树
LT
北京邮电大学信息与通信工程学院
第3页/共9页
北京邮电大学电信工程学院
第1页
数据结构实验报告
实验名称: 实验三——哈夫曼树
学生姓名: 吴淳
班 级: 2011211106班
班内序号: 27
学 号: 2011210180
日 期: 2012年11月29日
实验要求
一、实验目的:
掌握二叉树基本操作的实现方法;
了解哈夫曼树的思想和相关概念;
培养使用二叉树解决实际问题的能力。
二、实验内容:
利用二叉树结构实现哈夫曼编/解码器
(Init):能够对输入的任意长度的字符串s进行统计,统计每个字符的频度,并建立哈夫曼树。
(CreatTable):利用已经建好的哈夫曼树进行编码,并将每个字符的编码输出。
(Encoding):根据编码表对输入的字符串进行编码,并将编码后的字符串输出。
(Decoding):利用已经建好的哈夫曼树对编码后的字符串进行译码,并输出译码结果。
北京邮电大学信息与通信工程学院
第3页/共9页
北京邮电大学电信工程学院
第1页
(Print):以直观的方式打印哈夫曼树(选作)。
,并进行分析,讨论哈夫曼编码的压缩效果。
测试数据如下:
I love data love will try my best to study data structure.
“菜单”方式,能进行交互,根据输入的字符串中每个字符出现的次数统计频度,对没有出现的字符一律不用编码。
2. 程序分析

哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。且哈夫曼树是一棵只有度为0和2的结点的正则二叉树。一棵有n个叶子的哈夫曼树共有2n-1个结点,可以用一个大小为2n-1的一位数组存放哈夫曼树的各个结点。由于每个结点同时还包含其双亲信息和孩子结点的信息,所以可以使用一个静态三叉链表来存储哈夫曼树。
class Huffman
北京邮电大学信息与通信工程学院
第4页/共9页
北京邮电大学电信工程学院
第1页
北京邮电大学信息与通信工程学院
第5页/共9页
北京邮电大学电信工程学院
第1页
【图三】示意图2

一.关键算法:
(1).初始化函数(void Huffman::Init(int weight[],int n))
算法伪代码:
1. 创建一个长度为2n-1的三叉链表;
,并赋予其相应权值,同时将其双亲、左孩子、右孩子值赋为-1;

:i=n;Selectmin(HTree,i,x,y);合成HTree[x]和 HTree[x]。
5. 若满足i<2*n-1,重复上一步,每次i++。
(2).创建编码表void Huffman::CreatTable(char character[],int n)
算法伪代码:

北京邮电大学信息与通信工程学院
第6页/共9页
北京邮电大学电信工程学院
第1页
=0;HcodeTable[i].data=character[i];child=i;parent=HTree[i].parent;k=0;
. 3 .如果parent!=-1;
,则其对应的编码为0,否则为1;
++;
将当前结点的parent值赋给child值,child的parent值赋给parent值;

<n,重复2和3;
5. 最后一位编码=’\0’;
6. 将已完成的编码倒序
7.输出编码表
(3). 选择两个最小权值(void Huffman::Selectmin(HNode*HTree,int n,int &i1,int &i2)
北京邮电大学信息与通信工程学院
第8页/共9页
北京邮电大学电信工程学院
第1页

算法语言描述:
从下标为0的结点开始,寻找第一个没用过的结点
从第一个没用过

最近更新

开学第一天作文15篇(精选) 8页

开学的一天作文(15篇) 11页

开学初国旗下的讲话稿(精选5篇) 9页

建设工程承包施工合同书样本(精选5篇) 17页

建筑公司承包简单的合同范本(精选5篇) 20页

应届生求职自我介绍(锦集13篇) 10页

广告公司劳动合同范本(通用15篇) 57页

幼儿大班防溺水安全教育教案范文(精选4篇) 8页

幼儿园环境创设方案范文(精选12篇) 30页

幼儿园教育活动安全教育教案(精选6篇) 11页

幼儿园庆六一儿童节创意方案(精选2篇) 4页

幼儿园大班生命安全教育教案范文(通用14篇).. 28页

幼儿园亲子活动的策划书3篇 5页

幸福的优秀作文15篇 11页

平安夜祝福文案(集锦10篇) 55页

帮助妈妈做家务的作文(精选40篇) 24页

师范生见习总结(精选20篇) 40页

工程项目经理工作感悟(通用8篇) 14页

工厂放假通知集锦9篇 7页

岗位聘用协议书(精选24篇) 76页

小狐狸上学作文(集锦15篇) 8页

小学课后服务活动计划(精选6篇) 21页

小学生运动会跳绳加油稿(通用12篇) 7页

小学生消防安全主题班会教案范文(通用6篇) 21页

小学生学习计划书(精选11篇) 12页

小学消防安全月活动总结(精选26篇) 38页

小学教师顶岗实习周记(精选6篇) 10页

小学寒假学习计划15篇 15页

小学助人为乐作文500字(精选70篇) 50页

小学五年级学习计划(精选17篇) 29页