[题目] 哈夫曼编码/译码器
[需求描述]
利用哈夫曼编码进行通信可以提高信道利用率,缩短信息传输时间,降低传输成本。这要求在发送端通过一个编码系统对传输数据预先编码,在接收端将传来的数据进行译码,对于全双工信道(即可以双向传输信息的信道),毎端都需要一个完成的编/译码系统。试为这样的信息收发站编写一个哈夫曼编译码系统。
[功能描述及要求]
1、初始化:
输入一串字符(正文),计算不同字符(包括空格)的数目以及每种字符出现的频率(以该字符出现的次数作为频率),建立哈夫曼树。
2、编码:
利用建好的哈夫曼编码,对输入的明文进行编码,并输出密文。
3、译码:
对得到的一串编码,即密文,利用哈夫曼编码进行译码,输出正确的明文。
4、可以显示菜单,在菜单中可以进行如下三项操作(但并不局限这些操作):
(1)初始化:建立哈夫曼树。
(2)编码。
(3)译码。
[测试数据]
1、输入的文本字符应该足够多,对于非法字符具有容错性。
2022-05-21 16:11:19
12KB
c语言
哈夫曼
1