- 5
- 0
- 约2.95千字
- 约 7页
- 2019-09-14 发布于上海
- 举报
数据结构实验报告
实验名称: 实验3——XXXX
学生姓名:
班 级:
班内序号:
学 号:
日 期:
1.实验要求
利用二叉树结构实现哈夫曼编解码器。
基本要求:
初始化:能够对输入的任意长度的字符串s进行统计,统计每个字符的频度,并建立哈夫曼树
建立编码表:利用已经建好的哈夫曼树进行编码,并将每个字符的编码输出。
编码:根据编码表对输入的字符串进行编码,并将编码后的字符串输出。
译码:利用已经建好的哈夫曼树对编码后的字符串进行译码,并输出译码结果。
打印:以直观的方式打印哈夫曼树(选作)
额外要求:
1、用户界面可以设计为“菜单”方式,能够进行交互。
2、根据输入的字符串中每个字符出现的次数统计频度,对没有出现的
字符一律不用编码。
2. 程序分析
2.1 存储结构
以构造的结构HuffNode的数组来表示哈夫曼树,同时也将字符对应的编码存储在其中。本题只适用于小写字符的问题,只有26个小写字符,又考虑到构造哈夫曼树的结点,所以共需要51个结点。
struct HuffNode
{
int Weight;
int Left;
int Right;
int Parent;
string Code;
};
HTree数组结构如下:
0 1 2 3
原创力文档

文档评论(0)