实验报告实验名称 H u f fm a n 编码 专业班级 计科三班 姓名 学号 指导老师 日期 2025 、1 2 、 20 一、实验目得 熟练掌握二叉树应用(H u ff m an 编码)得基本算法实现
二、实验内容1
对输入得一串电文字符实现H u f fma n编码,再对 Huffm a n 编码生成得代码串进行译码,输出电文字符串
实现功能如下:H u ffman 树得建立Huf fm a n编码得生成编码文件得译码三、实验要求设计思路:数据结构:#d efi n e n 1 00ﻩﻩ//叶子结点数#d e f ine m 2*n-1// Huffman 树中结点总数typedef struc t {ﻩ i n t we ight;//权值ﻩ in t lchild , r c hil d , parent; //左右孩子及双亲指针}HTN o de; //树中结点类型t y pedef HTNo d e Huff m an T r ee[m+1]; //ﻩ0号单元不用主要实现函数:统计字符串中字符得种类以及各类字符得个数得函数构造 Huffman 树得函数Huffman 编码得函数建立正文得编码文件得函数代码文件得译码函数主函数四、实验概要设计1)功能框图Huffman编码程序Huffman 树得建立从叶子到根逆向求编码Huffman 编码得生成退出五、 使用说明 1、运行环境:VC++ 6、0 2、首先选择主控菜单中得操作1,即建表,然后进行其它操作
六.实验截图七 实验体会1、构建哈夫曼树得关键在于找最小树;在 F 中选择两棵根结点权值最小得树作为左右子树构造一棵新得二叉树,且至新得二叉树得根结点得权值为其左右子树上根结点得权值之与
2、由于学习得不足没有实现编码文件得译码,今后会加以改进 (╯﹏╰)3、在逆向求编码得 fo r循环里犯