作业帮 > 综合 > 作业

C语言课设!我这个问题好难啊:希望高手指教,并附有“必要说明”,如果得到满意回答,具体如下:利用哈夫曼编码进行信息通信可

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/09 19:51:53
C语言课设!
我这个问题好难啊:希望高手指教,并附有“必要说明”,如果得到满意回答,具体如下:
利用哈夫曼编码进行信息通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本.试写一个哈夫曼码的编/译码系统.一个完整的系统应具有以下功能:
(1)I:初始化(Initialization).从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中.
(2)E:编码(Encoding).利用已建好的哈夫曼树(如不在内存坝u从文件hfmTree中读人),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中.
(3)D:译码(Decoding).利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中.
(4)P:打印代码文件(Print).将文件CodeFile以紧凑格式显示在终端上,每行50个代码.同时将此字符形式的编码文件写入文件CodePrin中.
(5)T:打印哈夫曼树(TreePrinting).将已在内存中的哈夫曼树以直观的方式(树或凹人表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件TreePrint中.
[测试数据] 用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”.字符 A B C D E F G H I J K L M
频度 186 64 13 22 32 103 21 15 47 1 5 32 20 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
BaiduHI与我交谈,上学期我们数据结构实验做过.
打印树的功能这学期的最后我已经实现了.我可以帮你加进去.