学年第一学期
实验一 四元霍夫曼编码
一、问题描述
利用哈夫曼编码进行通信可以大大提高信道的利用率,缩短
信息传输时间,降低传输成本。但是这要求在发送端通过一个
编码系统对待传数据进行预先编码,在接收端进行解码。对于
双工信道,每端都需要一个完整的编解码系统。这里要求对
任意序列()进行四元 的编码
实现。
二、基本要求
、围绕设计题目查阅资料,掌握编码的基本原理。
、按设计要求和编码原理进行算法的设计,算法的设计应满
足正确性、可读性、健壮性、高效率等要求。
、初始化。读入字符集大小 ,以及 个字符和 个权值,
建立四元 树,并将它存入 中。
、编码。利用已经建立好的 树将文件进行编码。
、译码。对给定码进行四元 译码。
三、测试数据
对 进行编码和译码(由于四元编码时要考
是否虑添加码元,所以取以上信息。)
四、算法思想
、用户输入需要编码的信息和需要译码的信息。
、程序自动根据权值对字母进行 编码,并对一句
话进行 编码,输出它的 编码;程序自动
根据函数查找比对进行译码。
、设计两类结构,其一用来存储 结点的孩子、
父亲和权重;另一个用来存储 结点的长度,编
码。
、编码时构造 树,编码时从叶节点向根节点回溯
进行编码。
、译码是从头开始与编码时的编码进行比对,实现译码。
、结合 进行可视化。