哈夫曼编码算法实现完整版.pdf

上传人:Q****o 文档编号:56616584 上传时间:2022-11-02 格式:PDF 页数:8 大小:221.16KB
返回 下载 相关 举报
哈夫曼编码算法实现完整版.pdf_第1页
第1页 / 共8页
哈夫曼编码算法实现完整版.pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《哈夫曼编码算法实现完整版.pdf》由会员分享,可在线阅读,更多相关《哈夫曼编码算法实现完整版.pdf(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第-1-页共 7 页实验三树的应用一.实验题目:树的应用哈夫曼编码二.实验内容:利用哈夫曼编码进行通信可以大大提高信道的利用率,缩短信息传输的时间,降低传输成本。根据哈夫曼编码的原理,编写一个程序,在用户输入结点权值的基础上求哈夫曼编码。要求:从键盘输入若干字符及每个字符出现的频率,将字符出现的频率作为结点的权值,建立哈夫曼树,然后对各个字符进行哈夫曼编码,最后打印输出字符及对应的哈夫曼编码。三、程序源代码:#include#include#include#include typedef struct char data;int weight;int parent,lchild,rchild;

2、HTNode,*HuffmanTree;typedef char*HuffmanCode;void Select(HuffmanTree&HT,int n,int m)HuffmanTree p=HT;int tmp;for(int j=n+1;j=m;j+)int tag1,tag2,s1,s2;tag1=tag2=32767;for(int x=1;x=j-1;x+)if(px.parent=0&px.weighttag1)tag1=px.weight;s1=x;for(int y=1;y=j-1;y+)if(py.parent=0&y!=s1&py.weights2)/将选出的两个节点中

3、的序号较小的始终赋给s1 tmp=s1;s1=s2;s2=tmp;ps1.parent=j;第-2-页共 7 页ps2.parent=j;pj.lchild=s1;pj.rchild=s2;pj.weight=ps1.weight+ps2.weight;void HuffmanCoding(HuffmanTree&HT,int n,char*w1,int*w2)int m=2*n-1;if(n=1)return;HT=(HuffmanTree)malloc(m+1)*sizeof(HTNode);HuffmanTree p=HT;for(int i=1;i=n;i+)pi.data=w1i-1

4、;pi.weight=w2i;pi.parent=pi.lchild=pi.rchild=0;for(;i=m;i+)pi.weight=pi.parent=pi.lchild=pi.rchild=0;Select(HT,n,m);ofstream outfile;/生成 hfmTree 文件outfile.open(hfmTree.txt,ios:out);for(i=1;i=m;i+)outfileHTi.weighttHTi.parenttHTi.lchild tHTi.rchildtendl;outfile.close();cout初始化结果已保存在hfmTree 文件中 n;void

5、 ToBeTree()/将正文写入文件ToBeTree中 ofstream outfile;outfile.open(ToBeTree.txt,ios:out);outfileTHIS PROGRAM IS MYFA VORITE;outfile.close();void Encoding(HuffmanTree&HT,int n)/编码 HuffmanCode HC;HC=(HuffmanCode)malloc(n+1)*sizeof(char*);char*cd;cd=(char*)malloc(n*sizeof(char);文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS

6、5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y

7、4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档

8、编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5

9、C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z1

10、0B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW

11、6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L

12、9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10第-3-页共 7 页cdn-1=0;for(int k=1;k=n;k+)int start=n-1;for(int c=k,f=HTk.parent;f!=0;c=f,f=HTf.parent)if(HTf.lchild=c)cd

13、-start=0;else cd-start=1;HCk=(char*)malloc(n-start)*sizeof(char);strcpy(HCk,&cdstart);cout输出哈夫曼编码:endl;for(int h=1;h=n;h+)/输出编码 coutHTh.data:;coutHCh;cout;if(h%8=0)coutendl;coutendl输出正文编码:endl;ToBeTree();/读取 TOBETREE 文件里的正文,并进行编码fstream infile;infile.open(ToBeTree.txt,ios:in);char s80;while(!infile.

14、eof()infile.getline(s,sizeof(s);infile.close();fstream outfile;outfile.open(CodeFile.txt,ios:out);int count=0;for(h=0;sh!=0;h+)for(k=1;k=n;k+)if(sh=HTk.data)coutHCk;cout;count+;outfileHCk;break;if(count%9=0)coutendl;/每输出 7 个换行 outfile.close();coutn 编码结果已保存在文件CodeFile 中.;文档编码:CC5C6T4Z10B2 HW6V1T1L9S5

15、 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8

16、L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U1

17、0文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:

18、CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T

19、4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2

20、 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1

21、T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10第-4-页共 7 页coutendl;void Decoding(HuffmanTree&HT,int n)/译码 int f=2*n-1;fstream infile;infile.open(CodeFile.txt,ios

22、:in);char s1000;while(!infile.eof()infile.getline(s,sizeof(s);infile.close();int i=0;int j=0;fstream outfile;outfile.open(TextFile.txt,ios:out);while(si!=0)f=2*n-1;while(HTf.lchild!=0)/以 f 对应的节点的左孩子的值=0作为结束if(sj=0)f=HTf.lchild;else f=HTf.rchild;j+;i=j;coutHTf.data;outfileHTf.data;outfile.close();cou

23、tn 译码结果已保存在文件TextFile中.;coutendl;void Print()/印代码文件 int count=0;fstream infile;infile.open(CodeFile.txt,ios:in);char s1000;while(!infile.eof()infile.getline(s,sizeof(s);for(int i=0;si!=0;i+)coutsi;count+;if(count%50=0)coutendl;/在终端上每行显示50 个代码文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B

24、2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V

25、1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S

26、5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V

27、8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U

28、10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码

29、:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6

30、T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10第-5-页共 7 页 infile.close();coutendl;char menu()/菜单函数 cout 功能菜单如下:endl;cout*endl;cout I:初始化(Initialization)endl;cout E:编码(Encoding)endl;cout D:译

31、码(Decoding)endl;cout P:印代码文件(Print)endl;cout Q:退出(Exit)endl;cout*endl;coutch;return ch;void main()int n;int Array100;char cArray100;HuffmanTree HT;cout输入 n 个字符:;cin.getline(cArray,100);n=strlen(cArray);cout一共n个字符.n;cout依次输入各个字符的权值:endl;for(int i=1;iArrayi;int tag;char x=menu();while(1)switch(x)case

32、I:HuffmanCoding(HT,n,cArray,Array);break;case E:Encoding(HT,n);break;case D:Decoding(HT,n);break;case P:Print();break;case Q:tag=0;cout结束endl;break;default:cout你输入错误!endl;文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编

33、码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C

34、6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10

35、B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6

36、V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9

37、S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5

38、V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4

39、U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10第-6-页共 7 页 if(tag=0)break;couty(继续)or n(退出)ch;if(ch=y)coutc;x=c;else exit(1);测试数据:用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的译码和编码: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

40、57 1 5 32 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 四.测试结果:如图一所示五.实验体会通过本次实验,尤其在自己对程序的调试过程中,感觉对树的存储结构,终结状态,还有编码,译码的过程都有了比较清晰的认识。在做本次实验时,其他的都没什么问题,以前很少进行文件操作,刚开始有点手生,但是在实验作完后,文件操作已经用的比较熟练了。最近几次实验,感到自己对本题实验的运行机理和过程掌握的最为透彻。收获不小。在实验过程中,遇到的一个主要问题是在 C+里面输入单个空格字符的问题。最终通过用cin.getli

41、ne()来解决,但是还不是很理想。为了察看方便,把有些文件的内容直接显示在终端上了,没有列出生成的文件里的结果。文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V

42、8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U

43、10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码

44、:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6

45、T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B

46、2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V

47、1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10第-7-页共 7 页图一文档编码:CC5C6T4Z10B

48、2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V

49、1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S

50、5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V8L5Y4U10文档编码:CC5C6T4Z10B2 HW6V1T1L9S5 ZS5V

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com