下载此文档

北邮信通院数据结构实验报告三哈夫曼编码器.docx


文档分类:IT计算机 | 页数:约20页 举报非法文档有奖
1/20
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/20 下载此文档
文档列表 文档介绍
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
北京邮电大学电信工程学院
数据结构实验报告
实验名称:实验三树——哈夫曼编/解码器
学生姓名:
班级:
班内序号:
学号:
日期:2014年12月11日
1.实验要求
利用二叉树结构实现赫夫曼编/解码器。
基本要求:
1、初始化(Init):能够对输入的随意长度的字符串s进行统计,统计每个
字符的频度,并成立赫夫曼树
2、成立编码表(CreateTable):利用已经建好的赫夫曼树进行编码,并将每
个字符的编码输出。
3、编码(Encoding):根据编码表对输入的字符串进行编码,并将编码后的字符串输出。
4、译码(Decoding):利用已经建好的赫夫曼树对编码后的字符串进行译
码,并输出译码结果。
5、打印(Print):以直观的方式打印赫夫曼树(选作)
6、计算输入的字符串编码前和编码后的长度,并进行剖析,议论赫夫曼编码的压缩效果。
测试数据:
IlovedataStructure,IloveComputer。Iwilltrymybesttostudydata
Structure.
提示:
1、用户界面能够设计为“菜单”方式:能够进行交互。
2、根据输入的字符串中每个字符出现的次数统计频度,对没有出现的
字符一律不用编码。
1页
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
-
程序剖析
2.1存储结构
Huffman树
给定一组拥有确定权值的叶子结点,能够结构出不同的二叉树,其中带权路径
长度最小的二叉树称为Huffman树,也叫做最优二叉树。
weightlchildrchildparent
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
2
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
-
2
-1
-1
-1
5
-1
-1
-1
6
-1
-1
-1
7
-1
-1
-1
9
-1
-1
-1
weight
lchild
rchild
parent
2
-1
-1
5
5
-1
-1
5
6
-1
-1
6
7
-1
-1
6
9
-1
-1
7
7
0
1
7
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
3
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
北邮信通院数据结构实验报告三哈夫曼编码器
-
13
2
3
8
16
5
4
8
29
6
7
-1
2.2重点算法剖析
1)计算出现字符的权值
利用ASCII码统计出现字符的次数,再将未出现的字符进行筛选,将出现的字符及頻
数存储在数组a[]中。
voidHuffman::Init()
{
intnNum[256]={0};//记录每一个字符出现的次数
intch=cin.get();
inti=0;
while((ch!='\r')&&(ch!='\n'))
{
nNum[ch]++;//统计字符出现的次数

北邮信通院数据结构实验报告三哈夫曼编码器 来自淘豆网www.taodocs.com转载请标明出处.

猜你喜欢
非法内容举报中心
文档信息
  • 页数20
  • 收藏数0 收藏
  • 顶次数0
  • 上传人春天资料屋
  • 文件大小222 KB
  • 时间2022-05-13
最近更新