- 1、本文档共96页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 6 章 树和二叉树;6.1 树的定义和基本术语;1.树的定义
树是由n(n≥0)个结点组成的有限集合。若n=0,称为空树;若n0,则:(1)有且仅有一个特定的称为根(root)的结点。它只有直接后继,但没有直接前驱;(2)当n1时,其余结点可以划分为m(m0)个互不相交的有限集合T1,T2,…,Tm,每个集合又是一棵树,称为根的子树,每棵子树的根结点有且仅有一个直接前驱,但可以有0个或多个直接后继。由此可知,树的定义是一个递归的定义,即树的定义中又用到了树的概念。树的结构参见图6-1。
;;一棵树的逻辑结构可以用二元组描述为:tree =(k,R) k={ki∣1≤i≤n;n≥0,ki∈elemtype} R={r}其中,n为树中结点个数,若 n=0,则为一棵空树, n0时称为一棵非空树,而关系 r 应满足下列条件:(1)有且仅有一个结点没有前驱,称该结点为树根;(2)除根结点以外,其余每个结点有且仅有一个直接前驱;(3)树中每个结点可以有多个直接后继(孩子结点)。;例如,对图6-1(c )的树结构,可以二元组表示为:;(1) InitTree(T) 初始化树T。(2) Root(T) 求树T的根结点
(3) Parent(T,x) 求树T中,值为x的结点的双亲。(4) Child(T,x,i) 求树T中,值为x的结点的第i个孩子。(5) AddChild(y,i,x) 把值为x的结点作为值为y的结点的第i个孩子插入到树中。(6) DelChild(x,i) 删除值为x的结点的第i个孩子。(7) TraverseTree(T) 遍历或访问树T。 ;1.结点: 树的结点包含一个数据元素及若干指向其子树的分支
2.度: 一个结点包含子树的数目,称为该结点的度。3.叶子(终端)结点度为0的结点,称为叶子结点或树叶,也叫终端结点。 4.孩子结点 若结点X有子树,则子树的根结点为X的孩子结点,也称为孩子,儿子,子女等。如图6-1(c)中A的孩子为B,C,D。 5.双亲结点 若结点X有子女Y,则X为Y的双亲结点。; 6.祖先结点 从根结点到该结点所经过分支上的所有结点为该结点的祖先,如图6-1(c)中M的祖先有A,D ,H 。7.子孙结点 某一结点的子女及子女的子女都为该结点子孙。 8.兄弟结点 具有同一个双亲的结点,称为兄弟结点。9.分支结点 除叶子结点外的所有结点,为分支结点,也叫非终端结点。(度不为0的结点)10.层数(层次) 根结点的层数为1,其它结点的层数为从根结点到该结点所经过的分支数目再加1。;11. 树的高度(深度) 树中结点所处的最大层数称为树的高度,如空树的高度为0,只有一个根结点的树高度1。12.树的度 树中结点度的最大值称为树的度。13. 有序树 若一棵树中所有子树从左到右的排序是有顺序的,不能颠倒次序。称该树为有序树。 14. 无序树 若一棵树中所有子树的次序无关紧要,则称为无序树。15.森林(树林) 若干棵互不相交的树组成的集合为森林。一棵树可以看成是一个特殊的森林。 ;1.树形结构表示法;2. 凹入法表示法 ;3. 嵌套集合表示法;4. 广义表表示法(A(B(E(J,K,L),F),C(G),D(H(M),I))) ;6.2 二叉树;6.2.1 二叉树的定义;;(1)InitBitree(T) 二叉树的初始化。 (2)Root(T) 求二叉树的根结点(3)Parent(T,x) 求二叉树T中值为x的结点的双亲(4)Lchild(T,x) 求二叉树T中值为x的结点的左孩子。 (5)Rchild(T,x) 求二叉树T中值为x的结点的右孩子。 (6)Lbrother(T,x) 求二叉树T中值为x的结点的左兄弟。 (7)Rbrother(T,x) 求二叉树T中值为x的结点的右兄弟。?;(8)Traverse(T) 遍历二叉树T。(9)CreateBiTree(T) 建立一棵二叉树T。(10)AddLchild(T,x,y) 在二叉树T中,将值为y的结点作为值为x的结点的左孩子插入。 (11)AddRchild(T,x,y) 在二叉树T中,将值为y的结点作为值为x的结点的右孩子插入。 (12) DelLchild(T,x) 在二叉树T中,删除值为x 的结点的左孩子。 (13)DelRchild(T,x) 在二叉树T中,删除值为x 的结点的右孩子。
;性质1
若二叉树的层数从1开始,则二叉树的第i层结点数,最多为2i-1个(i≥1)。;
深度(高度)为k的二叉树最大结点数为2k-1(k≥1)。
证明:最大结点个数=20+2
您可能关注的文档
- 油品基础知识材料.doc
- 内河船舶电力推进技术要求(2003版)资料.ppt
- 数据管理与决策第一讲资料.pptx
- 人生充满希望,梦想链接未来。资料.ppt
- 内河船员(一类)轮机实操考试-二三管轮资料.doc
- 人生处事哲学资料.ppt
- 电力工程基础_孙丽华_第二版_第1章综述.ppt
- 人生当自强资料.ppt
- 人生如春蚕资料.ppt
- 数据交换模式的区分v0.1资料.ppt
- 黑龙江省大庆市第四中学2025届高三下学期第五次调研考试生物试题含解析.doc
- 广东广州越秀区执信中学2025届高考临考冲刺化学试卷含解析.doc
- 2025届北京市西城区第四十四中学高三考前热身生物试卷含解析.doc
- 吉林省四平市公主岭市第五高级中学2025届高三考前热身历史试卷含解析.doc
- 安徽省淮北一中、合肥六中、合肥一中、阜阳一中、滁州中学2025届高考冲刺生物模拟试题含解析.doc
- 湖南省娄底市双峰一中等五校重点中学2025届高考历史一模试卷含解析.doc
- 江苏省淮安市楚州中学2025届高三3月份模拟考试历史试题含解析.doc
- 云南省红河黄冈实验学校2025届高三冲刺模拟生物试卷含解析.doc
- 2025届内蒙古自治区杭锦后旗奋斗中学高三第三次测评生物试卷含解析.doc
- 浙江省绍兴名校2025届高考化学四模试卷含解析.doc
文档评论(0)