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