版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验4哈夫曼树和哈夫曼编码一、实验内容问题说明知道n字在原文中出现的频率,求他们的竖琴湾码。基本要求1.初始化:通过从键盘读取n个字母及其权重来创建霍夫曼树。(具体算法请参阅教材p147中的算法6.12。)2.编码:根据设置的huffman树,获取每个字符的huffman编码。编码要编码的指定字符序列。二、大纲设计算法设计:要实现haffman树的工作,首先要创建haffman树,在创建haffman树时初始化haffman树的树叶和树叶节点,在创建haffman树时,最困难的是具有最低选择值的两个顶点。然后,选择两个权重最小的节点(具有两个节点的权重和新权重)以创建较小的二进制树。创建霍夫曼
2、树后编码,编码过程中先找到根,然后遍历,左边的孩子标记为0,右边的孩子标记为1,最后输出编码的赫夫曼树,你就知道赫夫曼树的编码了。(约翰f肯尼迪,northern exposure(美国电视剧),northern exposure(美国电视剧)流程图:开始输入哈佛湾树中的加权节点数n输入相应的权重及其字符创建huffman树huffman树(ht,w,n,e)仅huffman显示树outputhuffman(ht,m)霍夫曼树编码chuffmancode(ht、hc、n)结束算法:主函数hufmentry(hufmentry ht,int * w,int n,char * e) * hc,in
3、t n)chuffmancode (huffman tree ht,huffman code hc,int n)output huffman (huffman tree ht,int m)选择(huffmantree * ht、intn、int * s1、int * s2)模块:分析了实验要求和算法分析后,将程序分为以下四个功能函数:首先,设置仅赫夫曼树和赫夫编码的存储表示。typedef struct int weightint parent、lchild、rchildchar elemhtnode,* huffmantree/动态分配阵列存储huffman树typedef char * *
4、 huffmancode/动态数组存储huffmantree编码表crthuffmantree (huffmantree * ht,int * w,intn): w存储n个字符的权重,并仅配置半高树ht。首先初始化树叶,然后初始化非树叶节点,然后仅配置半实物树。创建霍夫曼树:开始初始化叶非叶初始化select函数选择值最小的两个调用这两个权重最小的两个字符不是同一节点的左右孩子,父母的权重是两个字符的权重之和。结束for(i=n 1);i=m;i)ht 1.在i下,选择parent为0且weight最小的两个选择(ht、i-1、s1、s2);hts1。parent=i;hts2。parent=
5、i;hti。lchild=s1hti。rchild=s2hti。weight=hts1。weig ht htselect (huffman tree ht,int n,int * s1,int * s2):选择给定权重中权重最低的两个值。int i,minfor(i=1);i=n;i)if(hti)。parent=0)min=i;i=n 1;for(i=1);i=n;i)if(hti)。parent=0)if(hti)。weight#includetypedef struct int weightint parent、lchild、rchildchar elemhtnode,* huffmantree/动态分配阵列存储huffman树typedef char * * huffmancode/动态分配数组存储huffman编码表/仅取得huff码void select(huffman tree ht,int n,int * s1,int * s2)int i,minfor(i=1);i=n;i)if(hti)。parent=0)min=i;i=n 1;for(i=1);i=n;i)if(hti)。parent=0)if(hti)。weightnw=new intn 1;e=new charn 1;for(i=1);i=n;i)“cout”请输入“
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全员A证考试高分题库及一套答案详解
- 安全生产考试题库(含答案解析)
- 安全员A证考试考前冲刺测试卷附答案详解(b卷)
- 公益性岗位招聘135人考前自测高频考点模拟试题附答案详解
- 施工材料使用反馈与改进方案
- 2025重庆人文科技学院秋季招聘笔试模拟试题及答案解析
- 2025年六安市社区工作者招聘笔试参考题库及答案解析
- 工程物料采购价格监控方案
- 安全员A证考试能力测试备考题【易错题】附答案详解
- 未来五年大丽花企业县域市场拓展与下沉战略分析研究报告
- 2024版2026春新教科版科学三年级下册教学课件:第一单元4.磁极与方向含2个微课视频
- 培训保安课件
- “党的二十届四中全会精神”专题题库及答案
- 2025届高考小说专题复习-小说叙事特征+课件
- 部编版二年级下册写字表字帖(附描红)
- GB/T 5657-2013离心泵技术条件(Ⅲ类)
- GB/T 3518-2008鳞片石墨
- GB/T 17622-2008带电作业用绝缘手套
- GB/T 1041-2008塑料压缩性能的测定
- 400份食物频率调查问卷F表
- 滑坡地质灾害治理施工
评论
0/150
提交评论