版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
赫夫曼编码132
刘海澍周弘杰徐铭瑶目录哈夫曼树的介绍选题的意义实验内容算法及可行性分析预期结果赫夫曼编码是哈夫曼树的一个应用路径上的分支数目称作路径长度树的路径长度是从树根到每一个结点的路径长度之和结点的带权路径长度为从该结点到树根之间的路径长度与节点上权的乘积树的带权路径长度为树中所有叶子结点的带权路径长度之和,通常记作WPL=(W1*L1+W2*L2+W3*L3+...+Wn*Ln)N个权值构成一棵有N个叶子结点的二叉树,每个叶子结点带权为Wi相应的叶结点的路径长度为Li(i=1,2,...n)。最小的二叉树称作最优二叉树或赫夫曼树选题的意义“哈夫曼编码”是一种一致性编码法(又称“熵编码法”),用于数据的无损耗压缩。这一术语是指使用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编码。这张编码表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的(出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的)目录实验内容【问题描述】
设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。【选做内容】(1)显示哈夫曼树;
(2)界面设计的优化。【基本要求】(1)初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;
(2)编码:利用建好的哈夫曼树生成哈夫曼编码;
(3)输出编码;
(4)设字符集及频度如下表:字符:ABCDEF
频度:492321715
字符:GHIJK
频度:12334目录算法及可行性分析主程序部分voidmain(){初始化;构造哈夫曼树;求哈夫曼编码;哈夫曼编码输出;}哈夫曼树部分实现哈夫曼树的抽象数据类型哈夫曼编码部分
实现求哈夫曼编码算法的数据类型主函数intmain(){intn;printf("请输入要输入的字符数量n:");//读入字符的个数
while(scanf("%d",&n),n>=0&&n<=20){//初始化
printf("请输入n个字符和n个权值\n");CodeInput(n,ht);//输入数据函数,将读入n个字符和权重
CreateHT(ht,n);//构造哈弗曼树
CreateHCode(ht,hcd,n);//哈弗曼编码算法
CodeOutput(n,hcd);}//打印哈弗曼编码,将打印出编码,和每一个字符的编码
return0;}程序流程程序输入输出结果预期结果输入:键盘输入字符集大小n、n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度校园活动视频拍摄合同清洁版
- 二零二五年度金融租赁融资委托管理合同
- 2025年解除劳动合同通知书及员工再就业辅导服务协议
- 中通快递业务流程
- 培训开展情况
- 老板与员工交流发言材料
- 应聘运营招商简历
- 合作伙伴协议书
- 委托结算通知函
- 大班儿童人身安全与心理健康
- 消防安全应急预案下载
- 《北航空气动力学》课件
- 附件:财政业务基础数据规范(3.0版)
- 电商公司售后服务管理制度
- 火灾应急处理课件
- 创新者的逆袭3:新质生产力的十八堂案例课-记录
- 2024年河南省公务员考试《行测》真题及答案解析
- 2022-2024北京初三二模英语汇编:话题作文
- 人教版八年级英语上册Unit1-10完形填空阅读理解专项训练
- 2024年湖北省武汉市中考英语真题(含解析)
- GB/T 44561-2024石油天然气工业常规陆上接收站液化天然气装卸臂的设计与测试
评论
0/150
提交评论