数据结构课程设计,哈弗慢编码译码器
题目一:哈夫曼编码与译码
一、任务
设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。
要求:
1) 将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中) ;
2) 初始化:键盘输入字符集统计字符权值、自定义26个字符和26个权值、统计文件中一篇英文文章中26个字母,建立哈夫曼树; 3) 编码:利用建好的哈夫曼树生成哈夫曼编码;
4) 输出编码(首先实现屏幕输出,然后实现文件输出);
5) 译码(键盘接收编码进行译码、文件读入编码进行译码); 6) 界面优化设计。 二、流程图
1.从键盘输入字符集统计
主菜单
1.建立字符权值
2.建立并输出哈夫曼树
3.建立并查看哈弗曼编码
4.编码与译码 0.退出系统
2.从文件读入字3.自定义字符及0.返回上级菜单
输出哈夫曼树并保存输出哈夫曼编码并保存至文
1.编码
2.译码 0.返回上级菜单
符集统计权值 权值
至文件“哈夫曼树。txt” 件“哈夫曼编码。txt
1.从键盘输入字1.从键盘输入编
符集进行编码 码进行译码
2.从文件读入字2.从文件读入编
符集进行编码 码进行译码
0.返回上级菜单 0.返回上级菜单