版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、树与二叉树梁 音地球信息科学与技术系地球物理与空间信息学院基本概念回顾从此处开始我们将要接触到非线性结构了。回忆一下线性数据结构的特点?有限、有序只有唯一的头和尾除了头和尾以外,每一个数据元素都只有唯一的直接前驱和唯一的直接后继基本概念回顾那么非线性的数据结构将打破这三大特点中的一种或多种。比如我们即将讲到的树,它有唯一的头,我们称为根节点(Root),但是它有很多尾,我们称为叶子节点(Leaf);除了根节点和叶子节点外,中间的节点有很多直接后继,但是都只有唯一的直接前驱。树的基本概念树的基本概念A节点就是根节点,它没有直接前驱;J、K、F、C、L、H和I节点都是叶子节点,它们都没有直接后继;
2、E、B、G和D节点都是中间节点;E的直接前驱是B,直接后继是J和K;B的直接前驱是A,直接后继是E和F;D的直接前驱也是A,直接后继是G、H和I。树的基本概念树的定义:(1)有且仅有一个根节点;(2)除了根节点之外,其余的节点可以分成若干个互不相交有限集合,其中的每一个集合本身又是一棵树。可见,树的定义本身就是递归的。所以有关树结构的算法一般多以递归形式给出。树的基本概念A为根节点;B、E、F、J和K组成一棵子树,B为该子树的根节点;C独立组成一棵子树,它既是根节点,又是叶子节点;D、G、H、I和L节点组成另一棵子树,D为该子树的根节点。树的基本概念B、C和D节点有相同的直接前驱A,A称为他们
3、的父节点(Parent),B、C和D称为A的孩子(Child);有同一个父节点的孩子节点互称兄弟(Sibling),B、C和D节点就互为兄弟。以某一节点为根的子树中的任一节点都称为该节点的子孙(Offspring)。E、F、J和K节点都是B的子孙。树的基本概念树中节点得最大层次称为树的深度(Depth)或高度。节点的度:节点所拥有的子树的数目。树的度:树内各节点度的最大值。森林(Forest)是若干棵互不相交的树的集合树中节点的各子树从左自右是右次序的,则该树为有序树,否则为无序树。树的基本概念树的深度为4A节点的度为3B节点的度为2去掉A节点后,集合B, E, F, J, H, C, D,
4、G, H, I, L组成森林。树的基本概念就逻辑结构而言,任何一棵树都是一个二元组Tree = (root, F),其中,root是树的根节点,F是m棵树所构成的森林。F = (T1, T2, Tm),其中Ti = (ri, Fi)称作根root的第i棵子树。并且有Ti与Tj的交集为空集,其中1ij=m二叉树二叉树(Binary Tree):本身是树型结构。每个节点最多只有两棵子树。即,节点的度不能大于2。二叉树的子树有左右之分,其次序不能颠倒。所以二叉树是一个有序树。二叉树的性质性质1:在二叉树的第i层上最多有2i1个节点。证明:用数学归纳法。i = 1时,节点数为1,就是根节点,假设i =
5、 k时,命题成立,即第k层上最多有2k1个节点,那么对于k+1层而言,由于是二叉数,其节点至多就是2第k层上的节点数。二叉树的性质性质2:深度为k的二叉数,最多有2k-1个节点根据性质1,对于第k而言,其最大的节点数是2i-1。那么总的节点数不能超过:二叉树的性质性质3:对任何一棵二叉数T,如果其终端节点数为n0,度为2的节点数为n2,则n0 = n2+1。假设度为1的节点数为n1,则总的节点数为n0+ n1+ n2。除了根节点以外,每一个节点都只有唯一的直接前驱。二叉树的性质那么总的节点数还可以等于:n1+2n2+1实际的分支数就和中间节点与叶子节点总和相等。与式子n0+ n1+ n2作比较
6、,可以得到性质3: n0 = n2+1两类特殊的二叉数满二叉树:必须首先是二叉树所有的节点的度都是2如果深度为k,则节点树就是2k-1两类特殊的二叉数这里为了方便的引入另外一种特殊的二叉树,我们给满二叉树的每一个节点编号。编号的规则:从上向下,从左向右。如果我们对二叉树按上述规则进行编号,与其同深度的满二叉树对应节点编号全一样的树称为完全二叉树。两类特殊的二叉数 树T1 树T2两类特殊的二叉数 树T3 树T4两类特殊的二叉数树T1和T3都是完全二叉树,树T2和T4都不是完全二叉树。完全二叉树的特点:叶子节点只可能在最大的两层上出现;对任一节点,若其右分支下的子孙的最大层次为L,则其左分支下的子
7、孙的最大层次必为L或L1。二叉树的性质性质4:具有n个节点的完全二叉树的深度为log2n+1。若深度为k,根据完全二叉树的定义以及性质2,2k-1-1n=2k-1或者2k-1=n 2k,这样,就有k-1= log2nk成立。于是,k = log2n+1。二叉树的存储结构顺序存储结构用一组地址连续的存储单元依次自上而下,从左至右存储二叉树上的节点元素。链式存储结构依靠指针来连接根节点和其左、右子树。二叉树的存储结构顺序存储:123456789101112131415二叉树的存储结构顺序存储:12345000067二叉树的存储结构顺序存储:优点:简单、方便缺点:深度为k且只有k个节点的单枝树,仍然需要使用2 k-1的一维数组存放。102000300000004二叉树的存储结构链式存储结构表示二叉树的链表的结点中包含三个域:数据域左指针域右指针域LChildDataRChild二叉树的存储结构链式存储结构(C语言描述)typedef struct BiTNode ElemType data; struct BiTNode *LChild, *RChild; /左右孩子指针BiTree二叉树
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年农业检测能力验证合同
- 交通运输部所属事业单位2026年度第三批统一公开招聘备考题库及一套答案详解
- 2025年台州学院编制外合同工招聘备考题库及参考答案详解一套
- 2025年茂名市电白区电城中学招聘合同制教师备考题库带答案详解
- 国家知识产权局专利局专利审查协作广东中心2026年度专利审查员公开招聘备考题库及一套完整答案详解
- 2025年杭州高新区(滨江)综合行政执法局招聘协管员备考题库及答案详解参考
- web项目论坛课程设计
- 《AQ 2031-2011金属非金属地下矿山监测监控系统建设规范》专题研究报告
- 2025西藏日喀则市第二中等职业技术学校招聘编外人员8人考试核心题库及答案解析
- 2025年消费电子柔性电路用铜箔市场报告
- 检验科标本前处理课件
- (15)普通高中美术课程标准日常修订版(2017年版2025年修订)
- CNC技术员调机培训
- 雨课堂在线学堂《审美的历程》作业单元考核答案
- 2025-2026学年统编版(2024)三年级上册语文期末综合能力测试卷及答案
- 中科佰奥辐射建设项目环境影响报告表
- GB 15811-2025一次性使用无菌注射针
- 1688采购合同范本
- 购买铁精粉居间合同范本
- 药物致癌性试验必要性指导原则
- 肌电图在周围神经病中的应用
评论
0/150
提交评论