题目的基本要求是: 1.初始化,键盘输入字符集大小n,n个字符和n个权植,建立哈夫曼树。 2.编码,利用建好的huffman树生成huffman编码; 3.输出编码; 4.译码功能; 5.字符和频度如下: 字符 空格 A B C D E F G H I J K L M N O P Q 频度 186 64 13 22 32 103 21 15 47 57 1 2 32 20 57 63 15 1 字符 R S T U V W X Y Z 频度 48 51 80 23 8 18 1 16
【问题描述】设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。【基本要求】(1)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;(2)编码:利用建好的哈夫曼树生成哈夫曼编码;(3)输出编码;(4)设字符集及频度如下表:字符 空格 A B C D E F G H I J K L M频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20字符 N O P Q R S T U V W X Y Z 频度 57 63 15
有哈夫曼树编码,译码,动态可视化,友好界面的功能
程序中用到了Easy-X图形库
本程序使用vs2015编写
1)将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中)
2)分别采用动态和静态存储结构
3)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树
4)编码:利用建好的哈夫曼树生成哈夫曼编码
5)输出编码
6)设字符集及频度如下表:
字符 空格 A B C D E F G H I J K L M
频度 186 64 13 22 3