哈夫曼树编码译码源代码及测试文件.pdf
《哈夫曼树编码译码源代码及测试文件.pdf》由会员分享,可在线阅读,更多相关《哈夫曼树编码译码源代码及测试文件.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、测试文件内容Dear Editor:There is something to tell to you.Im a middle school student.My name is Li Ming.Final exams are coming.Everyone is preparing for this.But there is some important problem during the review.Most of students often stay up late for the review.As the result,they always take a nap in the
2、 class and they cant keep the studying normal.I think we should be a reasonable time.The more relaxing we get,the better we will be.Brothers do not misuse wood workers I hope all the students can access to ideal scores.Im expecting your answer and suggestion.Li Ming.源代码#include#include#include /*哈夫曼
3、树*/struct huffmantree char ch;/*字符*/int weight;/*权值*/int parent;/*父亲*/int lchild;/*左孩子*/int rchild;/*右孩子*/char*code;/*编码*/;/*字符-权值*/struct char_weight char ch;int weight;/*带大小的字符-权值*/struct size_cw int size;struct char_weight*cw;/*创建带大小的字符-权值表*/struct size_cw*create_scw()FILE*fp;int i;int c;int cnt;
4、int tmp256;/*临时记录字符频度,哈希法*/struct size_cw*scw=(struct size_cw*)malloc(sizeof(struct size_cw);fp=fopen(data,r);if(fp=NULL)return NULL;/执行错误for(i=0;i size=0;for(i=0;i size)+;/*根据 tmp 创建字符-权值表*/scw-cw=(struct char_weight*)malloc(sizeof(struct char_weight)*scw-size);cnt=0;for(i=0;i cwcnt.ch=i;scw-cwcnt.
5、weight=tmpi;cnt+;fclose(fp);return scw;/执行成功 文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编
6、码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S
7、2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N
8、5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J
9、1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H
10、3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M
11、10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4/*在不存在父亲节点的节点中,找出1 个权值最小的节点*/int min_we
12、ight(struct huffmantree*ht,int n)int i;int min;for(i=1;i+)if(hti.parent=0)min=i;break;for(i+;i hti.weight)min=i;return min;/*在不存在父亲节点的点中,找出2 个权值最小的节点*/void min2_wieght(struct huffmantree*ht,int n,int*s1,int*s2)*s1=min_weight(ht,n);ht*s1.parent=1;*s2=min_weight(ht,n);ht*s1.parent=0;/*创建哈夫曼树*/struct h
13、uffmantree*create_huffmantree(struct size_cw*scw)int i;int s1,s2;struct huffmantree*ht;struct char_weight*cw=scw-cw;文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5
14、 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1
15、Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3
16、 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M1
17、0S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10
18、U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码
19、:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2
20、I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4int leave=scw-size;int node=2*leave-1;if(leave=1)return NULL;/*0 号节点不用*/ht=(struct huffmantree*)malloc(sizeof(struct huffmantree)*(node+1);for(i=1;i ch;hti.weight=cw-weight;for(;i=node;i+)memset(ht+i,0,sizeof(struct huffmantree);for(i=leave+1;i size;char*code=(char*)m
21、alloc(sizeof(char)*scw-size);codeleave-1=0;for(i=1;i=leave;i+)start=leave-1;文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3
22、N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8
23、J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7
24、H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9
25、M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W10U4文档编码:CU4S2I9D3N5 HY8J1Y7F7H3 ZD9M10S7W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈夫曼树 编码 译码 源代码 测试 文件
限制150内