1 / 10
文档名称:

哈夫曼树与哈夫曼编码.doc

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

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

分享

预览

哈夫曼树与哈夫曼编码.doc

上传人:文库旗舰店 2019/12/24 文件大小:24 KB

下载得到文件列表

哈夫曼树与哈夫曼编码.doc

文档介绍

文档介绍:1数据结构课程设计哈夫曼树与哈夫曼编码学号:xxx姓名:xxx专业:xxx【1】任务详细:,统计各字符出现的频度,,翻译并输出与之对应的文体,若最后的代码子序列不能译为文本,则输出相关信息【2】任务要求:。【3】基本思想:在栈的结构体基础上增加哈夫曼树的几个指针,像这样:typedefstructnode{intdata;intweight;structnode*next,*lchild,*rchild,*parent;}node,*pnode;每一个结点新增了几个指针!借助新增的几个指针和原有的栈,通过切换遍历方式,选择性的使用指针来构建栈和哈夫曼树。当处理栈时,使用传统的next指针,当构建哈夫曼树时使用新增的几个指针。【4】基本函数(关键函数为蓝色注明)voidinit_stack(pstack);//初始化栈voidpush_stack(pstack,char);//压栈voidpop_stack(pstack);//出栈voidtraverse_stack(pstack);//普通遍历voidtraverse_plus(pstack);//去掉重复的字符voidorder_stack(pstack);//按照权值大小排序,准备构建哈夫曼树voidcreate_HTtree(pstack);//构建哈夫曼树voidget_HTtreecode(pstack);//获取哈夫曼编码voiddecode(pstack);//解密哈弗慢编码【5】关键函数解读inttraverse_plus(pstackps)用户输入用于构建哈夫曼树的原数据是一串乱码,构建哈夫曼树之前需要处理删除重复的并且排好序便于构建哈夫曼树首先建立两个指针,外指针循环用于统计一共有多少个不同的字符,内指针用于删除重复的字符并且得到每个字符出现的频度然后赋值给每一个结点的weight{pnodep1=ps->top;pnodep2=p1->next;intsum=0;//用于统计一共有多少个不同的字符,创建哈夫曼树的重要步骤;while(p1){while(p2){if(p1->data==p2->data){p1->weight=p1->weight+1;//出现一次,权值加一pnodep3=p2;//将重复出现的删除p1->next=p2->next;p2=p2->next;free(p3);}else{p2=p2->next;//字符不同仅指针后移}printf("%c出现了%d次\n",p1->data,p1->weight);}sum=sum+1;p1=p1->next;}printf("一共有%d个字符",sum);//这里得到了不同的字符的数量}voidorder_stack(pstackps)用于给结点按照从小到大排序方便建立哈夫曼树,方法用的是冒泡法,并且输出排序好的每个不同的字符的频度{pnodeq1=ps->top;for(inti=0;i<sum;i++){for(intj=0;j<sum-1;j++){if(q1->weight>q

最近更新

山东省枣庄市事业单位招聘考试(职业能力倾向.. 147页

山东省苍山县2024年度事业单位公开招聘专业技.. 59页

广东省暨南大学华文学院2024年招聘历年高频难.. 59页

广东省韶关市选调生考试(行政职业能力测验).. 147页

广西省来宾市选调生考试(行政职业能力测验).. 149页

成都铁路局招聘2024年高校毕业生107人历年高频.. 60页

江苏省宿迁市事业单位招聘考试(职业能力倾向.. 148页

江苏省无锡市事业单位招聘考试(职业能力倾向.. 148页

江苏省盐城市事业单位招聘考试(职业能力倾向.. 147页

江苏苏州大学功能纳米与软物质研究院实验技术.. 60页

江西省新余市事业单位招聘考试(职业能力倾向.. 148页

江西省赣州市事业单位招聘考试(职业能力倾向.. 149页

河南新乡经济技术开发区2024事业单位招聘25人.. 59页

湖南省核工业地质局三0一大队2024年招聘历年高.. 58页

甘肃省庆阳地区选调生考试(行政职业能力测验.. 148页

福建省宁德市事业单位招聘考试(职业能力倾向.. 148页

福建省福州市事业单位招聘考试(职业能力倾向.. 147页

绵阳市涪城区2024年下半年公开招聘事业单位工.. 59页

贵州省六盘水市选调生考试(行政职业能力测验.. 147页

辽宁省本溪市事业单位招聘考试(职业能力倾向.. 150页

辽宁省锦州市事业单位招聘考试(职业能力倾向.. 146页

郑州铁路局2024届毕业生招聘150人历年高频难、.. 59页

重庆市南充市选调生考试(行政职业能力测验).. 148页

重庆市绵阳市选调生考试(行政职业能力测验).. 147页

重庆潼南县2024第四季度招聘事业单位工作人员.. 57页

青藏铁路公司招聘2024高校毕业生70人历年高频.. 59页

黑龙江省伊春市事业单位招聘考试(职业能力倾.. 148页

蓝奏云软件库合集软件资料 1页

焦炉烟道弯管安装方法 6页

艺人经纪人合同范本 22页