哈弗曼编码实验报告-无损压缩实验报告.pdfVIP

  • 0
  • 0
  • 约7.74千字
  • 约 12页
  • 2020-08-17 发布于天津
  • 举报

哈弗曼编码实验报告-无损压缩实验报告.pdf

精品 哈弗曼编码实现无损压缩实验报告 一、 实验内容 通过 C++ 编程实现。 要求: 1) 字符串的输入是手工输入的; 2) 通过程序实现编码, 最终在屏幕上显示编码结果, 例如,如果选用 huffman 编码, 则要显示字符串的编码以及平均码长; 二、 源 代码 #includeiostream.h #includemath.h #includestring.h #includestdlib.h #if !defined _HUFFMANTREE_H_ #define _HUFFMANTREE_H_ class HuffmanTree { public: unsigned int Weight; unsigned int Parent; - 可编辑 - 精品 unsigned int lChild; unsigned int rChild; }; typedef char **HuffmanCode; /* 从结点集合中选出权值最小的两个结点将值分别赋给 s1 和 s2*/ void Select(HuffmanTree* HT,int Count,int *s1,int *s2) { unsigned int temp1=0; unsigned int temp2=0; unsigned int temp3; for(int i=1;i=Count;i++) { if(HT[i].Parent==0) { if(temp1==0) { temp1=HT[i].Weight; (*s1)=i; } else { if(temp2==0) - 可编辑 - 精品 { temp2=HT[i].Weight; (*s2)=i; if(temp2temp1) { temp3=temp2; temp2=temp1; temp1=temp3; temp3=(*s2); (*s2)=(*s1); (*s1)=temp3; } } else { if(HT[i].Weighttemp1) { temp2=temp1; temp1=HT[i].Weight; (*s2)=(*s1); (*s1)=i;

文档评论(0)

1亿VIP精品文档

相关文档