




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、广卅中医药大学医学信息工程学院实验报告课程名称 专业班级 学生学号 学生姓名 实验名称 实验成绩数据结构与算法计算机科学与技术()级课程类别:必修0限选口公选口其它口哈夫曼编码及应用实验目的:了解哈夫曼树的应用,掌握哈夫曼树的构造方法及前缀码的应用。实验性质: 设计性,应用性。实验步骤:(1) 输入一串字符,统计其中所有的不同字符及其个数,得出每个不同字符在文屮出现 的频率。(2) 根据每个字符频率建立哈夫曼树,输出字符对应的编码。实验要求1、实验要求独立完成。2、迟交或不交的或源代码雷同者一律不做作业登记评分。作业提交(实验扌艮告写在此处)给出含有6, 8, 11个字符的实例,统计他们的频率
2、,画出哈夫曼树,并用算法continue333333.333333 .16666? .166667continue码码码码码码a0 0 0 0 为为为为 si n n2,2,1 ,1 ,曰沓沓沓疋nybtt数数数数46码码码码ac 1e ,jtjiat二 ,jtjia.ftjiro ty e0 10 1k 110 0250000250000125000125000125000125000-m- is si si si7z7z7z7z7z7z sii 林频频频频频频48btt2,2,b¥¥8ny fa数数皴皴皴皴>e/l-1d / / /z1dd ,i i ,ii i
3、,rn ,i i ,i i ,ii i ,rn ,i io ty0 10 16 0 10 0 11k 0 0 1111nc:usersgglo 47x47x47x47x47x47x47 t01 0101 孵cc频频频频频频频44:1000000101k 鬥ab2,2,3,22曰習習習習習習疋ny 炸fg数数数数数数数“码码码码码码码a 1 同同同同同同扁 s 4刖d / < 1纟纟纟纟纟纟纟 s v nd i 一 ,tt"r ,itur一 ,rr"t ,itur一 ,i 一 ,rr"t ,itur一 ,rr"t ,itur一 fiiii代码写在此处
4、#includenstdio.h"#include<malloc.h>#define maxnode 20#define maxleaf 30#define maxint 234567struct htnodeint ww;int parent,lchild, rchild;struct httreeint root; struct htnode ht maxnode;;typedef struct httree phttree;phttree *huffman (int m, int *w);void main 0 char s maxnode;int m=0;char
5、 w maxnode; int count=0;int t=0;int a maxnode;int *b;char *code;code= (char *) ma 1 loc (s izeof (char); b= (int *)malloc (sizeof (int); printf ("请输入字符窜:n");for (int i=0; i<maxn0de; i+) scanf ("%c n, &s i);+count;if (s i =' #')break;for (i=0; i<count-l; i+) a i =0; b
6、 m =0;for (int j=0; j<count-l; j+)if (s i =s j &&i<=j)a i=a i+l;if (si=sjoi>j) a i=a i+l;si =null;if (si !=null) bm =a i;w m =s i;m+;%d,频率printf (n%c的个数为 %fn", w m-1, b m-1, (float) a i / (count-1); phttree *pht;pht= (phttree *)malloc (sizeof (phttree); pht=huf fman (m, b);for
7、(i=0; i<2*m-l; i+)printf ("%du, pht->ht i. ww);printf (nn");for (i=0; i<m; i+) int c; c=i; t=0;int p=pht->ht i.parent;whi1e (p!=-l)if (pht->ht p. lchild=c)icode t =' o't+;if (pht->ht p rchild=c) codet=/lz;t+; pht->root一一;c=p;p=pht->ht p parent;printf ("
8、%c 的编码是",wi);for (int y=t-l; y>=0; y一)printf ("%c",code y);printf (nnn);)phttree *huf fman (int m, int *w) /构造具有m各节点的哈弗曼树 phttree *pht;int i, j, xl, x2, ml, m2;pht=(phttree *)malloc (sizeof (phttree);if (pht=null) printf ("out of space!n");return pht;for (i=0; i<2*m-l;
9、 i+) pht->hti. lchild=-l;pht->hti. rchild=-l;pht->hti parent=-l;if (i<m)pht->ht i. ww=w i;elsepht->hti. ww=-l;for (i=0;i+)ml=maxint;m2=maxint;xl=-l;x2=-l;for (j=0; j<m+i; j+)if(pht->htj. ww<ml&&pht->htj. parent=-l)im2=ml;x2=xl;ml=pht->htj. ww;xl=j;else if(pht->htj. ww<m2&&pht->htj. parent=-l) m2=pht->htj. ww;x2=j;pht->htxl. parent=m+i;pht->ht x2. p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 游戏公司企业文化
- Photoshop平面设计基础 课件 任务5.3 制作旅行社T型广告牌海报
- 住宅租赁安全责任与装修安全协议
- 地质灾害监测测量员聘请与预警协议
- 车辆安全保险理赔处理协议
- 通信材料回购方案
- 住宅小区停车场租赁合同规范范本及停车管理
- 餐饮企业股权转让及品牌推广权合同
- 太仓历史面试题及答案
- 手绘校园面试题及答案
- 【电商直播对消费者购买行为影响:以抖音直播为例开题报告1800字】
- 抑郁病诊断证明书
- 气体分析仪检定规程
- 2024-2029年吞咽困难饮食增稠剂行业市场现状供需分析及市场深度研究发展前景及规划投资研究报告
- (高清版)WST 348-2024 尿液标本的采集与处理
- FZT 73012-2017 文胸行业标准
- 肺系病的中医护理
- 四型机场方案
- 体育运动与劳动教学计划结合
- 肿瘤登记基本技术肿瘤命名与编码课件
- 全国各省市县-一览表
评论
0/150
提交评论