- 1、本文档共158页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5数据结构_树与二叉树.ppt
5.5 二叉树的存储结构及实现 5.5.2 二叉链表 ①随机建完全二叉树改进算法的N-S图: 创建指针数组(0-n) 从第一个数到最后一个数(i:1--n) 创建结点,赋随机数 左、右孩子置空 从最后一个结点到第二个i:n—2) 计算父结点位置 存储到父结点的孩子指针域(左?右?) 返回根结点地址 5.5 二叉树的存储结构及实现 5.5.2 二叉链表 ①随机建完全二叉树的改进算法: BiTree* createFull(int n) { } BiNode *p[n+1]; for(i=1;i=n;i++) { p[i]=new BiNode();p[i]-data=rand() % 99; p[i]-lchild= p[i]-rchild=NULL; } for(i=n;i1;i--) if (i%2==0) p[i/2]-lchild=p[i]; else p[i/2]-rchild=p[i]; return p[1]; 5.5 二叉树的存储结构及实现 5.5.3 三叉链表与线索二叉树 rchild parent data lchild 5.6 树的应用举例 1.引例 假设有某种成绩N个,编程统计其优,良,中,及格,差的人数各多少。 A:[90-100] B:[80-90) C[70-80) D[60-70) E[0-60) 5.6.1 二叉树应用举例—哈夫曼树及哈夫曼编码 该算法的核心是对每一个成绩进行分类汇总,具体地讲,就是通过判断分数的类型,进行累计求和,其判断的N-S图可能为: 分数60? E++ 分数70? D++ 分数80? C++ 分数90? B++ A++ 5.6 树的应用举例 1.引例 5.6.1 二叉树应用举例—哈夫曼树及哈夫曼编码 几种判断树示例: 分数70 分数60 分数80 分数90 E++ C++ D++ A++ B++ 分数=80 分数=90 分数=80 分数=60 A++ C++ B++ E++ D++ 分数60 B++ C++ A++ E++ D++ 60≤分数70 70≤分数80 80≤分数90 哪一种判断 效率更高? 判断树与什么有关? 5.6 树的应用举例 2. 哈夫曼树 5.6.1 二叉树应用举例—哈夫曼树及哈夫曼编码 1)哈夫曼树的概念 叶结点的权值(weigtht)--与叶结点有关的一个数量值。 叶结点的路径长度(path length)--二叉树的根结点到达叶结点的路径中边的数量。 树的带权路径长度(weigthted path length)--带权的二叉树中,所有叶结点权值与其路径长度积的总和,记为: WPL= 带权二叉树--叶结点有权值的二叉树。 5.6 树的应用举例 5.6.1 二叉树应用举例—哈夫曼树及哈夫曼编码 哈夫曼树(Hhffman tree)--带权路径长度最小的二叉树,也称为最优二叉树。 例如,给定权值{2,3,4,5}的四个结点,可构造出多种二叉树,它们的带权路径长度不尽相同。 2 3 4 5 5 4 2 3 WPL=35 WPL=37 WPL=28 2 3 4 5 3 4 5.6 树的应用举例 2) 哈夫曼树的构建 5.6.1 二叉树应用举例—哈夫曼树及哈夫曼编码 哈夫曼算法(构建哈夫曼树)的N-S图: 各个结点独立成树(构成森林) 当森林中树的棵数大于1 选择两棵权和最小的树 合并这两棵权小的树 哈夫曼算法操作示意 W={1,1,4,7} 哈夫曼树的构造过程: 5.6 树的应用举例 2) 哈夫曼树的构建 5.6.1 二叉树应用举例—哈夫曼树及哈夫曼编码 1 1 4 7 2 6 13 5.6 树的应用举例 3. 哈夫曼编码 5.6.1 二叉树应用举例—哈夫曼树及哈夫曼编码 编码--给每一个对象标记一个二进制位串。 例如:ASCII编码-用7位二进制位来表示字符序列。 定长编码—用一组固定长度的二进制位串来标记一组对象。长度为n的二进制串可标记2n个不同对象。 不定长编码—用可变长度的二进制位串来标记一组对象。 D:10 C:01 B
您可能关注的文档
- 2015汽车知识大赛题库-汽车文化知识 .doc
- 2015汽车驾驶员考试题 济南c1驾驶证模拟考试题 机动车c1科目1题库 c1驾照理论模拟题库 驾驶员理论 .doc
- 2015河北会计电算化考试题.doc
- 2015河南省对口升学专业基础课试题与答案集 .doc
- 2015河南省成考专申本英语词汇汇总,好东西一起分享.doc
- 2015河职院CCAT认证考试简介及各学院考证目录.doc
- 2015注册会计师考试经济法法规汇集1-16.doc
- 2015注册公用设备工程师(暖通空调)执业资格考试专业考试大纲.doc
- 2015注册物业管理师-《物业管理实务》试卷.doc
- 2015注册税务师《税收相关法律》章节汇总.doc
- 2024—2025学年湖南省邵阳市新邵县第二中学高二上学期期中考试英语试卷.doc
- 河南省百师联盟2024—2025学年高二下学期开年考试历史试题(含答案).pdf
- 冰灯授课件课时.pdf
- 河南省部分学校2024-2025学年高一下学期开年摸底大联考地理试卷(含答案解析).pdf
- 河南省开封市杞县2024-2025学年高三下学期开学英语试题(含答案).pdf
- 河南省洛阳市第一高级中学2024-2025学年高二上学期1月期末考试历史试卷(含答案).pdf
- 河南省洛阳市第一高级中学2024-2025学年高二上学期1月期末考试英语试卷(含答案,无听力原文、答案及音频).pdf
- 信息技术 课件 模块5 WPS演示文稿.pptx
- 河北省部分学校2024-2025学年高一上学期1月期末地理试题(含答案).pdf
- 河北省保定市高中2024-2025学年高一上学期1月期末调研考试数学试题(B)题(含解析).pdf
最近下载
- 2025年全国特种设备安全管理人员A证考试题库(含答案) .docx
- 灌装操作工作业指导书.doc
- 番茄酱灭菌灌装机说明书end.doc VIP
- 性格培养08勇敢的小熊.pptx
- 腐植酸肥料生产建设项目可行性研究报告.doc
- 民营企业财务管理新规制度.doc
- 2023基于手机银行APP专区调研的客群精细化运营分析报告.pdf VIP
- 杀菌操作工作业指导书.doc VIP
- 基于手机银行APP专区调研的客群精细化运营分析报告-42页.doc VIP
- 马工程系列《教育学原理》项贤明主编第一到十章全完整版课件PPT:产生发展、教育与社会人的发展、目的培养目标、制度、课程教学德育、教师学生等(1).pptx
文档评论(0)