



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文格式为word版,下载可任意编辑哈夫曼树实验报告,(2) 试验报告 试验名称 ufmn 编码 专业班级 计科三班 姓名 学号 指导老师 日期 2021、2、20 一、试验目得 娴熟把握二叉树应用(hffan 编码)得基本算法实现。 二、试验内容 l .对输入得一串电文字符实现ufma编码,再对 huffmn 编码生成得代码串进行译码,输出电文字符串。实现功能如下: ¨ hffman 树得建立 ¨ hufa编码得生成 编码文件得译码 三、试验要求 l 设计思路: 数据结构: #efie n 00/ 数点结子叶#eine m 2*n1 / huffman 树中结点总数 ty
2、pedef struc ;thgi ti /权值 针指亲双及子孩右左/ ;tnerap , lihr , dlihcl thtnde; /树中结点类型 tpedef htnoe huffanrm+; 0/ 用不元单号主要实现函数: n 统计字符串中字符得种类以及各类字符得个数得函数 n 构造 huffman 树得函数 n huffman 编码得函数 n 建立正文得编码文件得函数 n 代码文件得译码函数 n 主函数 四、试验概要设计 )功能框图 huffman编码程序 huffman 树得建立 从叶子到根逆向求编码huffman 编码得生成 编码文件得译码 退出 五、 使用说明 、运行环境:+
3、、0 2、首先选择主控菜单中得操作,即建表,然后进行其它操作. 六 试验截图 七 试验体会 1、构建哈夫曼树得关键在于找最小树;在 f 中选择两棵根结点权值最小得树作为左右子树构造一棵新得二叉树,且至新得二叉树得根结点得权值为其左右子树上根结点得权值之与。 、由于学习得不足没有实现编码文件得译码,今后会加以改进 () 3、在逆向求编码得 fo循环里犯了一个规律错误导致求出来得 3、位编码串行,尝试了多钟数据输入才找到缘由所在,并加以改正,编写程序需一步一步得去调试并找到错误所在。 附源程序: : #cudestdo、h #ncltdi、h #incluestrng、h iluemalloc、h
4、 typee strct char aa; /结点字符 int weht; /结点权值 nt parnt,lchild,rchd; /父子结点 tnod,* hfmatre; ypee har * huffancde; void selec(hffmantree h, int m, nt s, it 2) nt i; = 1; or(i=1; i=; i+) i (hti、pant=0) s1=i; brea; for(ii+1; im; i+) if (hti、art= ts、weigtti、wight) s1=i; r(=1; i=; i+) if(ti、paent=0!s) s2i; b
5、rek; fr(ii1; i=; i+) f(hti、paren= h、weihths、wih !=s1) s2i; vod huffancong(huffmantree ht,hufancode h,it* w,int n) /w 存放 n 个字符得权值,构造赫夫曼树 ht,并求出个字符得赫夫曼树编码 h t f; int m,i,1,2; int c; ffmane p; cha *cd; if (n) retr; m=*n-1; ht=(huffatee)mal(m1)*if(hnde); r(ph+1,i=1;=n;+,+p,+) (*p)、weg=w; (p)、aret=; (p)、
6、lchild=; (*p)、ld; fo( ;im;+i,+p) (*p)、parent0; fr(i=1;i=;+) /建立赫夫曼树 /在t1、i1选择ant 为 0 且 wh最小得两个节点,其序号分别为 s,s、 slect(h,-1,1,s); hs1、parent=i;ht、prn=; hti、lchild=1;hi、rchlds; h、wight=ht1、wight+hs2、weght; /*从叶子到根逆向求每个字符得赫夫曼编码* c=(humancode)mlloc(+)*sizeof(cha*);/安排个字符编码得头指针向量 d=(ca)llo(n*izef(hr); /安排求编
7、码得工作区间 cdn-1="" /编码结束符 fo(i1;n;+i) /逐个字符求赫夫曼树编码 int stat; strt=n-1; /编码结束符位置 fo(,=hti、arnt;f!=;=,fhtf、parent) /从叶子到根逆向求编码 if(h、lchid=c) cd-start=" else -sart=" hci=(char *)mlloc(nstat)*seof(ca)); /为第个字符编码安排空间 stcpy(hci,ctar); /从 cd 复制编码(串)到 hc free(d); /释放空间 vid ain() ffmntree ht; uffanco h; int *,n,i; pritf(请输入权值得个数(): ); caf (%d,); w=(int *)maloc(n*si(t)); printf(请依次输入%d 个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年下沉市场消费金融场景化布局与生态构建报告
- 2025年商业写字楼智能化设计评估与智能化环境监测系统报告
- 药品进货查验管理制度
- 药库人员培训管理制度
- 药店商品品类管理制度
- 药店药品进销管理制度
- 营业场所线路管理制度
- 设备保养考核管理制度
- 设备外包服务管理制度
- 设备拆除搬运管理制度
- 安管员考试题库及答案
- 2025年高考语文备考之常见易错成语1700例
- 科技公司实验室管理制度
- T/CCT 011-2020干法选煤技术规范
- (高清版)DB62∕T 4730-2023 公路装配式石笼防护设计与施工技术规范
- 2024-2025 学年八年级英语下学期期末模拟卷 (深圳专用)原卷
- 2024广西农村信用社(农村商业银行农村合作银行)乡村振兴人才招聘946人笔试历年典型考题及考点剖析附带答案详解
- 仿制药项目立项可行性报告
- 2024年注册核安全工程师历年真题答案
- 怀孕私了赔偿协议书
- 秸秆主题班会课件
评论
0/150
提交评论