哈夫曼树 c 语言代码哈夫曼树实验报告(付原 c 语言程序)需求分析:从终端读入一串字符,利用建立好的哈夫曼树对其进行编码,储存到文件当中去,然后从文件读入哈夫曼编码,针对每个字母对其进行译码,翻译为原来的信息
二、概要设计程序分为以下几个模块:1、从终端读入字符集大小,n 个字符和 n 个权值,建立哈夫曼树,写入文件2、对 hfmTree 进行编码,建立 hfm 编码表
hfmTree 中去
3、从文件 ToTran 读入信息,根据 hfm 编码表对其进行 hfm 编码,将编码后的信息写入文件 Codefile 中去4、对 Codefile 文件反向译码,结果储存在 Textfile5、将建立的 hfmTree 打印在终端上,并储存于相应的中去
Treeprint文件中去
抽象的数据定义如下:哈夫曼树结构typedefstruct//定义哈夫曼树的结构{intweight;intparent;intlchild;intrchild;////////权值双亲左孩子右孩子}htnode,huffmantree[M+1];建立哈夫曼树voidcrthuffmantree(huffmantreeht,intw[],intn)//初始化哈夫曼树{inti,s1,s2,m;for(i=1;i