1 / 22
文档名称:

哈弗曼数据结构专题实验报告.doc

格式:doc   大小:393KB   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

哈弗曼数据结构专题实验报告.doc

上传人:2286107238 2020/7/26 文件大小:393 KB

下载得到文件列表

哈弗曼数据结构专题实验报告.doc

相关文档

文档介绍

文档介绍:数据结构与程序设计专题实验报告:学号:班级:信息45班:学号:班级:信息45班:学号:班级:信息45班实验指导老师:峰实验地点:西一楼一层计算机中心机房实验结束日期:12月5日联系:**********实验任务:,1)统计其中所有字符的频度(某字符的频度等于其出现的总次数除以总字符数),字符包括字母(区分大小写)、标点符号及格式控制符(空格、回车等)。2)按频度统计结果构建哈夫曼编码表。3)基于哈夫曼编码表进行编码,生成对应的二进制码流,,完成信源的编码过程。4)根据生成的哈夫曼编码表,,,完成信源的解码过程。5),以验证编解码系统的正确性。实验容:1)线性链表的构建以及排序;2)哈夫曼树的构建;3)基于哈夫曼码进行编码;4)对二进制码进行解码;5)对生成文件与原文件进行比较;程序的算法描述创建动态线性链表对源文件生成的动态线性链表按频数进行排序对生成的有序线性链表生成二叉树根据动态链表以及二叉树按权值生成相对应的哈夫曼树根据哈夫曼编码生成对应的哈夫曼码本并对源文件生成哈夫曼吗按二进制码存储由文件的哈夫曼码进行解码并生成目标文件判断目标文件是否与源文件一致程序运行结果:源程序代码:#include<>#include<>#include<>#include<>typedefstructaa{chardata;doublerate;intcount;structaa*next;structaa*pre;charhaffmancode[120];}NODE;NODE*creat(charb[]){NODE*h,*p,*s,*death;inti;h=(NODE*)malloc(sizeof(NODE));p=(NODE*)malloc(sizeof(NODE));h->next=p;h->pre=NULL;p->pre=h;p->next=NULL;p->data=b[0];p->count=;for(i=1;b[i]!='\0';i++){s=(NODE*)malloc(sizeof(NODE));s->data=b[i];s->count=;s->next=NULL;s->pre=p;p->next=s;p=s;}returnh;}voidfun(NODE*h,intamount){NODE*p,*q,*death; for(p=h->next;p;p=p->next){ for(q=p->next;q;){ if(q->data==p->data){ (p->count)++;if(q->next==NULL){q->pre->next=NULL;free(q);break;}else{q->pre->next=q->next;q->next->pre=q->pre; death=q;q=q->next; free(death); } } elseq=q->next;}(p->rate)=*(p->count)/amount;//printf("%c:\t%d\t%f\n",p->data,p->count,p->rate);}puts("构建链表完成\n");}voidoutlink(NODE*h,int*n){//printf("%d",amount);NODE*p=(NODE*)malloc(sizeof(NODE));NODE*s=(NODE*)malloc(sizeof(NODE)); inti; charch; doubler;for(p=h->next;p;p=p->next) { for(s=p->next;s;s=s->next) { if(s->count>p->count) { i=p->count; p->count=s->count; s->count=i; ch=p->data; p->data=s->data; s->data=ch; r=p->rate; p->rate=s->rate; s->rate=r; } } }p=h->next;while(p){//printf("%c:\t%d\t%f\n",p->data,p->count,p->rate);(*n)++;p=p->next;}puts("排序完成\n");}typedefstruct{ NODEbody;intlchild,rchild,parent; structTreenode*next;}HTNode,*Tree;typ

最近更新

2024天津市公务员考试言语理解与表达专项练习.. 117页

2024山东东营市城市建设投资集团限公司所属企.. 147页

2024年三房巷集团有限公司校园招聘考试试题带.. 147页

2024年事业单位教师招聘言语理解与表达题库含.. 116页

2024年事业单位教师招聘(言语理解与表达)30.. 177页

2024年事业单位教师招聘(言语理解与表达)30.. 175页

2024年云南锡业集团(控股)有限责任公司校园招.. 147页

2024年保育员(中级工理论)题库及完整答案1套.. 23页

天津国际货物运输规划方案 27页

2024年内蒙古鄂尔多斯投资控股集团有限公司校.. 149页

2024年四川省能源投资集团有限责任公司校园招.. 149页

2024年天合光能股份有限公司校园招聘考试试题.. 147页

2024年山东创新金属科技有限公司校园招聘考试.. 148页

2024年山东济南轨道交通集团限公司招聘95人历.. 147页

2024年山东种业集团限公司本部岗位招聘23人高.. 147页

2024年广东江门中医药职业学院单招职业适应性.. 93页

2024年广东省深圳市坪山新区事业单位招聘57人.. 89页

2024年广东省深圳市宝安区松岗街道办事业单位.. 89页

2024年广东省深圳市资本市场学院招聘工作人员.. 87页

2024年广东省深圳市龙岗区事业单位招聘77人历.. 89页

2024年广东省清远英德市环境保护局招聘6人历年.. 88页

2024年广东省湛江市社会保险基金管理局招聘8人.. 88页

城口抗震支架工程规划方案 31页

2024年医师定期考核考试题库及答案 14页

节约用水的研究报告 2页

高速钢轧辊加工及应用 7页

监理安全专题会议纪要 6页

2021学校高考告家长书(详细版) 6页

基于STM32的嵌入式MP3设计 22页

基于-QT的密码生成器设计 19页