急,求哈夫曼编码
问题描述:利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发站写一个哈夫曼码的编/译码系统。基本要求:
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 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 1 48 51 80 23 8 18 1 16 1
请各位高手帮忙,小女子不胜感激!