哈夫曼编码的设计与实现1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

华北科技学院计算机学院开放实验

实验报告

实验名称哈夫曼树编码的设计与实现

实验学期2014 至2015 学年第一学期学生所在系部计算机学院

年级2013 专业班级软件工程B13-2班

学生姓名扈鹏程学号201307044213

任课教师栾尚敏

实验成绩

计算机学院制

《哈夫曼树编码的设计与实现》开放实验报告

主程序模块

开始

1、初始化

2、修改字符

修改初始编码字符

初始化哈夫曼链表

1、建树

2、修改字符

建立哈夫曼树

修改初始编码字符

操作选择

退出

编 码

译 码

打印哈夫曼树

1、继续

2、返回上层

3、退出

结束

1

2

1

2

3

3

2

查看字符编码

修改初始编码字符

点代替原来两个结点的位置,其权值为两个子结点的权值只和,然后回到开始的判断。

判断文件指针是否为结束标记

打开文件

读取一个字

C==P->C || P==NULL 否

P=P->NEXT

C==P->C

P->W++新建结点存储字符,并赋权值为1

关闭文件

是否仅剩下1个结点

指针指向头p=head

判断是否

是为回车

获取一个字

串中存储的编码。再次读取一个字符回到判断处,进行循环。 判断是否有字符是否存在左子树输出字符

处理右子树

处理左子树

是否存在右子树是

是输入要编码的字符

c == p->c 点

输出该字符

c == p->c 存的编码

C!=’\n ’是

码 输出错误字

符并重新获取字符

C !=‘0’|| C !=‘1’

1、C !=‘0’

2、 C !=‘1’

P=head 输入译码字

P=P->lchild

P=P->rchild

C!=’\n ’P->c !=‘\0’输出p->c P=head

获取译码字

1

2

相关文档
最新文档