哈夫曼树编码译码.pdf

上传人:H****o 文档编号:56649766 上传时间:2022-11-02 格式:PDF 页数:17 大小:51.23KB
返回 下载 相关 举报
哈夫曼树编码译码.pdf_第1页
第1页 / 共17页
哈夫曼树编码译码.pdf_第2页
第2页 / 共17页
点击查看更多>>
资源描述

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

1、实 验三哈夫 曼编码/译码 器1 问题利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本,但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道)每端都需要一个完整的编/译码系统。试为这样的信息收发站写一哈夫曼编/译码系统。基本要求:(1)初始化;从终端输入字符集的大小n,以及 n 个字符和 n 个权值建立哈夫曼树。(2)输出哈夫曼树,及各字符对应的编码。(3)编码:利用建好的哈夫曼树,对输入的待发送电文进行编码。同时输入原文及编码串。(4)译码:利用建好的哈夫曼树,对输入的已接收电文进行译

2、码。同时输入编码串及原文。2 解题思路:(1)对输入的一段欲编码的字符串进行统计各个字符出现的次数,并它们转化为权值w1,w2,,wN 构成 n棵二叉树的集合F=T1,T2,,Tn 把它们保存到结构体数组HTn中,其中 Ti 是按它们的ASC码值先后排序。其中每棵二叉树Ti 中只有一个带权为Wi 的根结点的权值为其左、右子树上根结点的权值之和。(2)在 HT1.i 中选取两棵根结点的权值最小且没有被选过的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根结点的权值为左、右子树上根结点的权值之和。(3)哈夫曼树已经建立后,从叶子到根逆向求每一个字符的哈夫曼编码。3.结构体定义typedef s

3、truct float weight;unsigned int parent,lchild,rchild;HTNode,*HuffmanTree;typedef char*HuffmanCode;4.代码#include stdio.h#include stdlib.h#include string.h#include conio.h#define MAXSIZE 60/*定义赫夫曼树结构体*/typedef struct float weight;unsigned int parent,lchild,rchild;HTNode,*HuffmanTree;typedef char*Huffma

4、nCode;/*定义堆结构体*/typedef struct float key;/关键字项int otherinfo;/其他数据项(此题目中用不到)RedType;typedef struct RedType rMAXSIZE+1;/r0 闲置用作哨兵int length;/顺序表长度SqList;/*全局变量*/HuffmanTree HT;/赫夫曼树HuffmanCode HC;/码值FILE*fp,*fp1,*fp2;int a30=0;float b30;float*w;/权/*测试解码(可以输入一个不正确的二进制码串)*/void testdecode()char str200;/

5、存放自己输入的码子int p,p1,i;/解码的线索char ch;printf(n 请根据以上各个字符的编码输入一串二进制码字(200 个以内):n);gets(str);printf(以上码子解码后为:n);p=59;/最初令 p 为树根整数,p 由根顺着树枝一直到树叶文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编

6、码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D

7、8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编

8、码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D

9、8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编

10、码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D

11、8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2i=0;ch=stri+;while(ch!=0)for(;ch!=0&(HTp.lc

12、hild!=0|HTp.rchild!=0);)if(ch=0)p=HTp.lchild;else if(ch=1)p=HTp.rchild;else printf(n 你输入了 0,1之外的字符,无法正确译码,请检查!n);return;/直接结束 ch=stri+;/下一个码字不断的取下一个 if(p 30)printf(n 以上正确译出了前面的字符,由于你输入的二进制码不完整,最后一位字符无法译出,请检查!n);/*下面是解码*/void decode()int p;char ch;printf(nn对码子解码后的如下:n);fp1=fopen(bianma.txt,r);if(!fp1

13、)printf(can not open this file!n);exit(0);p=59;/最初令 p 为任意一个非零整数,p 由根顺着树枝一直到树叶ch=fgetc(fp1);fp2=fopen(jiema.txt,w);if(!fp2)文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 H

14、K8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6

15、F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 H

16、K8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6

17、F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 H

18、K8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6

19、F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2 printf(can not open this file!n);exit(0);while(ch!=EOF)fo

20、r(;HTp.lchild!=0|HTp.rchild!=0;)if(ch=0)p=HTp.lchild;else p=HTp.rchild;ch=fgetc(fp1);/下一个码字不断的取下一个 switch(p)case 27:printf(,);fprintf(fp2,);break;case 28:printf(.);fprintf(fp2,.);break;case 29:printf();fprintf(fp2,);break;case 30:printf(n);fprintf(fp2,n);break;default:printf(%c,p+96);文档编码:CL2K1H4M4E

21、7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M

22、9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E

23、7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M

24、9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E

25、7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M

26、9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E

27、7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2fprintf(fp2,%c,p+96);p=59;/这里 p 要重置为59,因为经过上面的程序 p已经变化了,不重置为 1则 HTp.lchild!=0|HTp.rchild!=0所以 for 语句无法进行!/while 循环printf(n);fprintf(fp2,n);fclose(fp1);fclose(fp2);/*求最小权值*/void minweight()float W

28、eight=0;int i;for(i=0;i 96&ch 64&ch 91)/大小字母 printf(%s,HCch-64);fputs(HCch-64,fp1);/输出到文件里面ch=fgetc(fp);continue;if(ch=,)printf(%s,HC27);fputs(HC27,fp1);ch=fgetc(fp);continue;if(ch=.)printf(%s,HC28);fputs(HC28,fp1);ch=fgetc(fp);continue;文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D

29、8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编

30、码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D

31、8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编

32、码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D

33、8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编

34、码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D

35、8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2if(ch=)printf(%s,HC29);fputs(HC29,fp1);ch=fgetc(fp);continue;if(ch=n)printf(%s,HC30);fputs(HC30,fp1);ch=fgetc(fp);continue;printf(nn);fclose(fp);fclose(fp1);/*堆排序*/void HeapAdjust(SqList&L,int s,int m)RedType rc;int j;rc=L.rs;for(j=2*s;j=m;j*=

36、2)if(j L.rj+1.key)/即使等于也不要动,不用加1+j;if(rc.key=L.rj.key)/即使等于也不要动,直接跳出来break;L.rs=L.rj;s=j;文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H

37、4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ

38、2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H

39、4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ

40、2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H

41、4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ

42、2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2 L.rs=rc;void select(HuffmanTree t,int i,int&s1,int&s2)/此函数被调用一次则就用堆排序选择两个最小的赋给s1 和 s2 SqLi

43、st L;RedType rc;int j,k,n=1;L.length=0;for(j=1;j 0;-k)HeapAdjust(L,k,L.length);s1=L.r1.otherinfo;/最小的选出来了!/*把最小的换到最下面*/rc=L.r1;L.r1=L.rL.length;/此次的 select 函数,进行堆排序的只有L.length 个(parent!=0 的没有在里面),所以这里是L.length 而不是 i L.rL.length=rc;HeapAdjust(L,1,L.length-1);s2=L.r1.otherinfo;/次小的选出来了(这里当输入1 4 2 8 四个

44、数时,第一次选出的s1=1,s2=3 是对的,但第二次选出的s1=5,但 s2 是随机数)文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E

45、7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M

46、9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E

47、7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M

48、9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E

49、7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M

50、9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2文档编码:CL2K1H4M4E7 HK8L2D8N2T6 ZQ2F4M9B6F2/*赫夫曼编码*/void HuffmanCoding(HuffmanTree&HT,HuffmanCode&HC,float*w,int n)/算法 6.12 /w 存放 n 个字符的权值(均0),构造赫夫曼树 HT,并求出 n 个字符的赫夫曼编码HC int m,i

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

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

本站为文档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