- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
树和二叉ppt课件
第六章 电子科技大学 吴 跃 教 授 主要内容 主要内容 二叉树的特点: ⑴ 每个结点最多只有两棵子树,即不存结点度大于2的结点; ⑵ 子树有左右之分,不能颠倒。 主要内容 用一组地址连续的存储单元,以层序顺序存放二叉树的数据元素,结点的相对位置蕴含着结点之间的关系。 主要内容 主要内容 6.5 线索二叉树 何谓线索二叉树? 线索链表的遍历算法 如何建立线索链表? 思考: 通过遍历二叉树可得到结点的一个线性序列,在线性序列中,就存在结点的前驱和后继,但是在二叉树上只能找到结点的左孩子、右孩子,结点的前驱和后继只有在遍历过程中才能得到,那么,能否通过结点的两个链域查找出任一结点的前驱和后继? 线索二叉树的整体结构: 增设一个头结点,令其lchild指向二叉树的根结点,LTag=0、RTag=1; 并将该结点作为遍历访问的第一个结点的前驱和最后一个结点的后继; 最后用头指针指示该头结点。 主要内容 树转换为二叉树 将一棵树转换为二叉树的方法是: ⑴树中所有相邻兄弟之间加一条连线。 ⑵对树中的每个结点,只保留它与第一个孩子结点之间的连线,删去它与其它孩子结点之间的连线。 ⑶以树的根结点为轴心,将整棵树顺时针转动一定的角度,使之结构层次分明。 树?二叉树 二叉树转换为树和森林 将一棵二叉树还原为树或森林的方法: ⑴若某结点是其双亲的左孩子,则把该结点的右孩子、右孩子的右孩子……都与该结点的双亲结点用线连起来; ⑵删去原二叉树中所有的双亲结点与右孩子结点的连线; ⑶整理由⑴、⑵两步所得到的树或森林,使之结构层次分明。 二叉树?树 二叉树?森林 森林转换为二叉树 由森林的概念可知,森林是若干棵树的集合,只要将森林中各棵树的根视为兄弟,森林同样可以用二叉树表示。 森林转换为二叉树的方法: ⑴将森林中的每棵树转换成相应的二叉树。 ⑵第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树根结点的右孩子,当所有二叉树连起来后,所得到的二叉树就是由森林转换得到的二叉树。 森林?二叉树 主要内容 6.7 哈夫曼树及编码 树的带权路径长度: 考虑带权时:设树中有m个叶结点,每个叶结点带一个权值wi且根到叶结点i的路径长度为 Li (i=1,2,.. m),则树的带权路径长度为树中所有叶结点的权值与路径长度的乘积的总和。 m 即:WPL=∑ WiLi i=1 本章作业 P129, 2(1),(3),(8) 3(8) 10(5),(6) 11 13 称树的带权路径长度最短的一类树为“最优树”。 在中序遍历过程中修改结点的 左、右指针域,以保存当前访问结 点的“前驱”和“后继”信息。遍历过 程中,附设指针pre, 并始终保持指 针pre指向当前访问的、指针p所指 结点的前驱。 三、如何建立线索链表? void InThreading(BiThrTree p) { if (p) { // 对以p为根的非空二叉树进行线索化 InThreading (p-lchild); // 左子树线索化 if (!p-lchild) // 建前驱线索 { p-LTag = Thread; p-lchild = pre; } if (!pre-rchild) // 建后继线索 { pre-RTag = Thread; pre-rchild = p; } pre = p; // 保持 pre 指向 p 的前驱 InThreading (p-rchild); // 右子树线索化 } // if } // InThreading 6.5 线索二叉树 6.1 树的类型定义 6.2 二叉树的类型定义 6.3 二叉树的存储结构 6.4 二叉树的遍历 6.6 树和森林 6.7 哈夫曼树及编码 树的三种存储结构 一、双亲表示法 二、孩子链表表示法 三、树的二叉链表(孩子-兄弟) 存储表示法 A B C D E F G 0 A -1 1 B 0 2 C 0 3 D 0 4 E 2 5 F 2 6 G 5 r=0 n=7 data parent 一、双亲表示法: typedef struct PTNode { Elem data; int parent; // 双亲位置域 } PTNode; data parent
您可能关注的文档
- 机械制造技术PP课件第二章 金属切削基本原理.ppt
- 机械工程材第七章铸铁.ppt
- 机械工程测技术习题答案.doc
- 机械工程试技术课件绪论.ppt
- 机械技术制图AtoCAD课件附录1.ppt
- 机械技术制AutoCAD课件第十章图块.ppt
- 机械工程控制基础-制系统的基本概念.ppt
- 机械技术制图AtoCAD课件第六章高级绘图命令.ppt
- 机械制造技术基础电子课件第4章 机械加工法及设备.ppt
- 机械基础中职体精品教案.doc
- 2025年南通市市直机关事业单位遴选工作人员考试笔试试卷【附答案】.docx
- 2025年全国共青团“新团员入团”应知应会知识考试试卷含答案详解(预热题).docx
- 2025年全国共青团“新团员入团”应知应会知识考试题库检测试卷附答案详解ab卷.docx
- 2025年入党积极分子发展对象考试题库综合试卷及答案详解【网校专用】.docx
- 2025年入党积极分子发展对象考试试卷含完整答案详解(典优).docx
- 2025年入党积极分子发展对象考试通关试卷提供答案解析及参考答案详解(b卷).docx
- 2025年全国共青团“新团员入团”应知应会知识考试综合提升试卷及答案详解(各地真题).docx
- 2025年全国共青团“新团员入团”应知应会知识考试能力检测试卷(名师系列)附答案详解.docx
- 2025年全国共青团“新团员入团”应知应会知识考试综合提升试卷含答案详解(完整版).docx
- 2025年入党积极分子发展对象考试题库综合试卷附参考答案详解(黄金题型).docx
原创力文档


文档评论(0)