实 验 名
称
实 验 日
期
实验六 哈夫曼编码和译码的算法设计与实现
实 验 方
案
实 验 操
作
实 验
成绩
2012-04-22
实
验
信息系统设计与仿
室 真室 I
实 验 台
号
34 号 班级 信工 11-1BF 煌峰
实 验 结
果
一、实验目的
1、根据算法设计需要,掌握哈夫曼编码的二叉树结构表示方法;
2、编程实现哈夫曼编译码器;
3、掌握贪心算法的一般设计方法。
二、预习与参考
1、认真阅读数据结构教材和算法设计教材容, 熟悉哈夫曼编码的原理;
2、设计和编制哈夫曼编译码器。
[参考数据类型或变量]
typedef ElemType char;
typedef struct node{
int w;
int flag;
ElemType c;
struct node *plink,*llink,*rlink;
char code[m];
}Node;
Node *num[n], *root;
[参考子程序接口与功能描述]
void SetTree( NODE *root )
功能: 从终端读入字符集大小 n,以及 n 个字符和 n 个权值,建立哈夫曼树
void EnCode( Node *p )
功能: 利用已建好的哈夫曼树,对输入的正文进行编码
页脚.