


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验报告实验名称ufmn 编码专业班级 计科三班 姓名 学号指导教师 日期2014、 2、20、实验目得熟练掌握二叉树应用 (Hffan 编码)得基本算法实现。二、实验内容.对输入得一串电文字符实现 u fma编码 ,再对 Huffm n 编码生成得代码串进行译码 输出电文字符串。实现功能如下:H ffman 树得建立Huf a编码得生成 编码文件得译码三、实验要求设计思路 :数据结构 :#efi e n 00?/叶子结点数 #eine m 2*n1 / Huffman 树中结点总数 typedef struc ? it ight; /权值? t lchild , r hil , parent
2、; /左右孩子及双亲指针HTN de; /树中结点类型 t pedef HTNo e Huff an r m+ ; 0/ ?号单元不用 主要实现函数 :统计字符串中字符得种类以及各类字符得个数得函数 构造 Huffman 树得函数Huffman 编码得函数 建立正文得编码文件得函数 代码文件得译码函数 主函数四、实验概要设计)功能框图退出五、使用说明、运行环境 : + 、 02 、首先选择主控菜单中得操作 , 即建表 , 然后进行其它操作 六实验截图七 实验体会3、在逆向求编码得 fo 循环里犯了一个逻辑错误导致求出来得3、位编码串行 , 尝试了多钟数据输入才找到原因所在 , 并加以改正 ,
3、编写程序需一步一步得去调试并找到错误所在。附源程序 :?# c ude<std o、h> #ncl < td i 、 h> #inclu e<str ng、 h> i lu e<malloc 、 h> type e str ct char aa; / 结点字符 intwe ht; / 结点权值 nt par nt,lchild,rch d; / 父子结点 TNod ,* H f ma Tr e; ype e har * Huff anC de;void Selec (H ffmanTree H , int m, nt& s , i t&a
4、mp; 2) nt i; = 1;or (i=1 ; i<= ; i+)i (HTi 、 pa nt=0) s1=i; brea ; for(i i+1; i < m; i+ )if (HTi、 ar t = Ts 、 weig t> Ti 、 wight)s1=i ; r ( =1; i < = ; i+ )if( Ti 、paent=0 &! s) s2 i;bre k; f r(i i 1; i < = ; i+) f(HTi 、 paren = & H 、 wei ht < H s 、 w i h & !=s1)s2 i ;v
5、od Huff anCo ng(HuffmanTree &HT , Huf anCode &H,i t* w,int n) / w存放 n 个字符得权值 ,构造赫夫曼树 HT,并求出个字符得赫夫曼树编码H t f ;int m,i, 1, 2;int c;ffmane p;cha *cd;if (n)ret r ;m=*n-1;HT=(Huff a T ee)ma l (m 1)* i f(H N de) ;r(p H+1,i=1 ; =n;+ , +p, +)(*p)、 we g= w;(p)、are t= ;(p)、lchild=;(*p )、 ld ; fo ( ;i m
6、; +i,+p)(*p) 、 parent 0 ; f r(i= ,s 、 S lect(H H s1 、 1;i<= ;+ ) / 建立赫夫曼树 /在T1、i1选择 ant 为0且 w h最小得两个节点 , 其序号分别为 s,-1, 1,s );parent=i;HT 、pr n=; 1;Hi 、rch ld s; we ght;HTi 、 lchild= H、wight=HT 1 、 w ight+H s2 、 /* 从叶子到根逆向求每个字符得赫夫曼编码 C=(Hu manCode)m lloc( + ) *sizeof d=(c a ) llo (n* ize f ( '(
7、 i 1; <n; +i )int sta t; st rt=n-1;( , =HTi 、 ar nt ; f!= ;cha *);/ h r);/fofoif(H 、lchi d=c) cd-start = ' else -s art=' HCi =(char *)m lloc(n st cpy ( HCi,&c tar free( d); vid ain()sta );t)*s/=, f HTf分配个字符编码得头指针向量/ 分配求编码得工作区间 编码结束符逐个字符求赫夫曼树编码/ 编码结束符位置 parent ) / 从叶子到根逆向求编码 eof(c a) ); / /为第个字符编码分配空间 从 cd 复制编码 ( 串)到 HC释放空间 ffm nTree HT; uff anCo H ; int * , n,i;pri tf(" 请输入权值得个数 caf ("%d" ,&); w=(int *)ma loc(n*si ( ):); (t));printf ( " 请依次输入 %d个权值 ( 整型 ):n",n); for(i=0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025海南澄迈县就业局招聘见习生1人模拟试卷含答案详解
- 2025昆明市禄劝县教育体育局所属事业单位面向县内学校公开选调人员(4人)模拟试卷附答案详解(考试直接用)
- 2025年面向社会公开招聘政府专职消防员、为遂宁市消防救援支队代招政府专职消防员的(99人)考前自测高频考点模拟试题及完整答案详解
- 2025年宁波市北仑区大榭街道社区卫生服务中心招聘编外工作人员3人考前自测高频考点模拟试题及完整答案详解一套
- 2025河南新乡市开发公益性岗位招聘25人模拟试卷及答案详解(典优)
- 2025届辽宁省不资源管理和生态环保产业集团校园招聘模拟试卷附答案详解(黄金题型)
- 2025辽宁能源控股集团所属能源投资集团拟聘人员考前自测高频考点模拟试题及答案详解参考
- 2025届春季中国融通集团校园招聘考前自测高频考点模拟试题及答案详解(夺冠系列)
- 2025北京昌平区统计局面向社会招聘经济运行监测工作专班助统员1人考前自测高频考点模拟试题(含答案详解)
- 2025广东佛山市狮山镇镇属企业专业技术人员招聘1人考前自测高频考点模拟试题及答案详解(名校卷)
- GB/T 21073-2007环氧涂层七丝预应力钢绞线
- GB/T 17980.37-2000农药田间药效试验准则(一)杀线虫剂防治胞囊线虫病
- 压力管道特性表
- 高级会计师评审个人业绩报告(精选9篇)
- 血管活性药物(ICU)课件
- “手电筒”模型-高考数学解题方法
- 储能型虚拟电厂的建设与思考分析报告
- 楼地面装饰构造(史上最全面)
- 海关AEO管理体系高级认证企业名录
- TTAF 068-2020 移动智能终端及应用软件用户个人信息保护实施指南 第8部分:隐私政策
- DB32∕T 4065-2021 建筑幕墙工程技术标准
评论
0/150
提交评论