- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构6树和二叉树A汇编
数据结构课程的内容 第6章 树和二叉树( Tree Binary Tree ) 6.1 树的基本概念 1. 树的定义 2. 若干术语 2. 若干术语(续) 3. 树的逻辑结构 (特点): 一对多(1:n),有多个直接后继(如家谱树、目录树等等),但只有一个根结点,且子树之间互不相交。 讨论3:树的链式存储方案应该怎样制定? 可规定为:从上至下、从左至右将树的结点依次存入内存。 重大缺陷:复原困难(不能唯一复原就没有实用价值)。 解决思路:二叉树 6.2 二叉树 为何要重点研究每结点最多只有两个 “叉” 的树? 二叉树的结构最简单,规律性最强; 可以证明,所有树都能转为唯一对应的二叉树,不失一般性。 1. 二叉树的定义 2. 二叉树的性质 (3+2) 讨论3:二叉树的叶子数和度为2的结点数之间有关系吗? 满二叉树:一棵深度为k 且有2k -1个结点的二叉树。 (特点:每层都“充满”了结点) 对于两种特殊形式的二叉树(满二叉树和完全二叉树),还特别具备以下2个性质: 课堂讨论: 3. 二叉树的存储结构 讨论:不是完全二叉树怎么办? 二、链式存储结构用二叉链表即可方便表示。 例: 4.二叉树的运算 例1: 先序遍历算法 DLR( TNode *root ) {if (root !=NULL) //非空二叉树 {printf(“%d”,root-data); //访问D DLR(root-lchild); //递归遍历左子树 DLR(root-rchild); //递归遍历右子树 } return(0); } 对遍历的分析: 小结 树—定义、概念术语 设法把一般的树转化为二叉树 二叉树 定义 性质3+2 对于一颗完全二叉树,考虑顺序存储,否则链式存储。 运算—LDR/DLR/LRD * 6.1 树的基本概念 6.2 二叉树 6.3 遍历二叉树和线索二叉树 6.4 树和森林 6.5 赫夫曼树及其应用 特点:非线性结构,一个直接前驱,但可能有多个直接后继(1:n) 1. 树的定义 2. 若干术语 3. 逻辑结构 4. 存储结构 5. 树的运算 注1:过去许多书籍中都定义树为n≥1,曾经有“空树不是树”的说法,但现在树的定义已修改。 注2:树的定义具有递归性,即树中还有树。 由n(n≥0)结点组成的有限集合T。在任意一棵非空树中,有且仅有一个结点称为根(root),当n1时,其余的结点分为m(m≥0)个互不相交的有限集合T1,T2,…,Tm。每个集合本身又是棵树,被称作这个根的子树 。 ——即上层的那个结点(直接前驱) ——即下层结点的子树的根(直接后继) ——同一双亲下的同层结点(孩子之间互称兄弟) ——即双亲位于同一层的结点(但并非同一双亲) ——即从根到该结点所经分支的所有结点 ——即该结点下层子树中的任一结点 A B C G E I D H F J M L K 根 叶子 森林 有序树 无序树 ——即根结点(没有前驱) ——即终端结点(没有后继) ——指m棵不相交的树的集合(例如删除A后的子树个数) 双亲 孩子 兄弟 堂兄弟 祖先 子孙 ——结点各子树从左至右有序,不能互换(左为第一) ——结点各子树可互换位置。 ——即树的数据元素 ——结点挂接的子树数(有几个直接后继就是几度,亦称“次数”) 结点 结点的度 结点的层次 终端结点 分支结点 树的度 树的深度 (或高度) A B C G E I D H F J M L K ——从根到该结点的层数(根结点算第一层) ——即度为0的结点,即叶子 ——即度不为0的结点(也称为内部结点) ——所有结点度中的最大值(Max{各结点的度}) ——指所有结点中最大的层数(Max{各结点的层次}) 问:右上图中的结点数= ;树的度= ;树的深度= 13 3 4 4. 树的存储结构 讨论1:树是非线性结构,该怎样存储? ————仍然有顺序存储、链式存储等方式。 讨论2:树的顺序存储方案应该怎样制定? 可用多重链表:一个前趋指针,n个后继指针。 细节问题:树中结点的结构类型样式该如何设计? 即应该设计成“等长”还是“不等长”? 缺点:等长结构太浪费(每个结点的度不一定相同); 不等长结构太复杂(要定义好多种结构类型)。 解决思路:先研究最简单、最有规律的树,然后设法把一般的树转化为简单树。 二叉树 1、定义和性质 2、存储结构 3、遍历 4、线索化:线索树 顺序结构 链式结构 二叉链表 三叉链表 先序线索树 中序线索树 后序线索树 树 二叉树 森林 中序遍历 后序遍历 先序遍历 霍夫曼树 霍夫曼编码 1. 二叉树的定义 2
您可能关注的文档
最近下载
- 抗菌药物临床应用分级管理目录(2023年版).doc VIP
- 飞利浦(PHILIPS)BTD2339 93 入门指南.pdf
- 设备管理工作总结汇报课件.pptx VIP
- (2025秋新改)人教版三年级数学上册教学计划(及进度表).docx VIP
- 人教版八年级数学上册 第十三章 三角形 综合与实践 确定匀质薄板的重心位置.pptx VIP
- TCEEIA 593:2022 工业机器人耐久性测试方法.pdf VIP
- 小学音乐《演唱 中华人民共和国国歌》章莉PPT课件新优质课比赛公开课获奖348.pptx VIP
- 2024秋季九年级英语教学计划(4篇).doc VIP
- 墩柱施工操作平台相关计算.docx VIP
- 岛津lc2030c高效液相色谱仪操作指南.doc
文档评论(0)