- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机软件基础第3章非线性数据结构
第3章 非线性数据结构 3.1 树及其基本概念 3.2 二叉树 3.2.1 二叉树的定义及其性质 3.2.2 二叉树的存储结构 3.3 二叉树的遍历 3.4 树的存储结构和遍历 3.1 树及其基本概念 树型结构是一种应用十分广泛的非线性数据结构,它很类似自然界中的树,直观地讲,树型结构是以分支关系定义的层次结构。 树(Tree)是n(n≥0)个结点的有限集合。在树形图中,结点常用圆圈表示,结点的名字一般写在圆圈旁边,有时亦可写在圆圈内。当n=0时称为空树,否则在任一非空树中: (1) 有且仅有一个称为该树之根的结点; (2) 除根结点之外的其余结点可分为m(m≥0)个互不相交的集合T1,T2,…,Tm,且其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 这是一个递归定义,即在树的定义中又用到了树,即一棵树是由若干棵子树构成的,而子树又可由若干棵更小的子树构成。树中的每一个结点都是该树中某一棵子树的根。 如图3-1所示的树中,A为根结点,其余的结点分为三个互不相交的有限集合:T1={B,E,F},T2={C,G,J},T3={D,H,I}。T1、T2和T3都是A的子树,而它们本身也是一棵树。例如,T1是一棵以B为根的树,其余结点分为互不相交的两个集合{E}和{F},而{E}和{F}本身又是仅有一个根结点的树。 下面结合图3-1,给出树型结构中的一些基本术语。 结点的度:一个结点拥有的子树数目。如A结点的度为3,它有三个子树T1、T2和T3。E、F结点的度为0,它们没有子树。 叶子:度为零的结点称叶子或终端结点。 树的度:一棵树上所有结点的度的最大值就是这棵树的度。 结点的层次:根结点的层数为1,其它任何结点的层数等于它的父结点的层数加1。 树的深度:一棵树中,结点的最大层次值就是树的深度。图3-1中树的深度为4。 森林:森林是m(m≥0)棵互不相交的树的集合。 孩子(child):某结点子树的根称为该结点的孩子结点。 如B、C、D是A的孩子。 双亲(parent):一个结点是它的那些子树的根的双亲结点。如A是B、C、D的双亲。 兄弟(sibling):同一个双亲的孩子之间互为兄弟。B、C、D是A的孩子;B、C、D互为兄弟。 堂兄弟(cousins):其双亲在同一层的结点互为堂兄弟。如G与E、F、H、I互为堂兄弟。 有序树:若将树中每个结点的各子树看成是从左到右有次序的(即不能互换的),则称该树为有序树,否则为无序树。作为有序树,图6.26中的两棵树是不同的,因为结点A的两个孩子在两棵树中的左右次序不同。以后若不特别指明,所讨论的树都是有序树。 3.2 二 叉 树 3.2.1 二叉树的定义及其性质 1.二叉树的定义 一个二叉树是一个有限结点的集合,该集合或者为空,或由一个根结点和两棵互不相交的被称为该根的左子树和右子树的二叉树组成。二叉树中每个结点最多只能有两棵子树,并且有左右之分,即有序。 二叉树有下面两个主要特点: (1) 每个结点最多只能有两个孩子,即二叉树中不存在度大于2的结点。 (2) 二叉树的子树有左、右之分,其次序不能任意颠倒。二叉树可以有五种基本形态,如图3-2所示。 2.二叉树的性质 二叉树具有下列重要特性。 性质1:在二叉树中,第i层的结点数最多有2i-1(i≥1)个。 例如:层次i 第i层最多结点数 性质2:在深度为k的二叉树中结点总数最多有2k–1个。 由性质1可见,深度为k的二叉树的最大结点数为: 下面介绍两种特殊形态的二叉树,满二叉树和完全二叉树。 如果一棵二叉树的深度为k,并且含有2k–1个结点,则称此二叉树为满二叉树。图3-6是一棵深度为4的满二叉树。 可以看出这种树的特点是每一层的结点数都是最大结点数。 对满二叉树的结点进行连续编号:从根结点起,自上而下逐层从左到右给每个结点编一个从1开始的顺序号。图3-6就成为图3-7。 深度为k,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中的编号从1到n的结点一一对应时,称之为完全二叉
文档评论(0)