3.5树、二叉树分解.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二叉树的二叉链表的逻辑状态如 下图所示。其中BT称为二叉链表的 头指针,用于指向二叉树根结点。 二叉链表的物理状态如右图所示。 二叉链表中的结点结构的C语言描述: 2. 二叉链表的生成 二叉链表的生成:是指根据给定的二叉树在计算机中建立链式存储结构。 二叉链的生成的原则:假设按如下顺序依此输入给定二叉树及左右子树中的各结点值: ①输入根结点值。 ② 若左子树不空,则输入左子树,否则输入一个结束符。 ③ 若右子树不空,则输入右子树,否则输入一个结束符。 例,对于下图中的二叉树,按上述 原则其输入的顺序如下: FCA▲▲DB▲▲▲E▲GH▲▲P▲▲ 其中: ▲表示结束符。 2.5 树与二叉树 一、树的基本概念 1. 基本概念 树(tree)是一种简单的非线性结构。 在树这种数据结构中,所有数据元素 之间的关系具有明显的层次特性。 在树结构中,每一个结点只有一 个前件,称为父结点。 在树中,没有前件的结点只有一个,称为树的根结点,简 称为树的根。如右上图所示的树的根结点为A。 在树结构中,每一个结点可以有多个后件,它们都称为该结 点的子结点。没有后件的结点称为叶子结点。如有上图所示叶 子结点有:E,F,J,H,I。 在树结构中,一个结点所拥有的 后件个数称为该结点的度。例如,在 右图中,根结点A的度为3;结点B、 D的度为2;结点C、G的度为1。叶 子结点的度为0。在树中,所有结点 中的最大度称为树的度。例如,右图 所示的树的度为3。 树的分层原则:根结点在第1层,同一层上所有结点的所有子结点 在下一层。 树的深度:是指树的最大层次。例如右上图所示的树的深度为4。 在树中,以某结点的一个子结点 为根构成的树称为该结点的一棵子树。 例 右图中:结点A有3棵子树, 它们分别以B,C,D为根结点;结 点C有1棵子树,其根结点为G;结点 B有2棵子树,它们分别以E,F为根 结点。 在树中,叶子结点没有子树。 2. 算术表达式树 在计算机中,可以用树结构来表示算术表达式。在一个算术表达式 中,有运算符和运算对象。一个运算符可以有若干个运算对象。 用树来表示算术表达式的原则: 表达式中的每一个运算符在树中对应一个结点,称为运算符结点。 运算符的每一个运算对象在树中为该运算符结点的子树(在树中的顺 序为从左到右)。 运算对象中的单变量均为叶子结点。 a *(b + c/d) + e*h - g *f(s, t, x + y) a *(b + c/d) + e*h - g *f(s, t, x + y) 3. 树在计算机中的表示 树在计算机中通常用多重链表表示。多重链表中的每个结点描述了 树中对应结点的信息,而每个结点中的链域(即指针域)个数将随树中该 结点的度而定,其一般结构如下图所示。 在表示树的多重链表中,由于树中每个结点的度一般是不同的,因 此,多重链表中各结点的链域个数也就不同,这将导致对树进行处理的 算法很复杂。如果用定长的结点来表示树中的每个结点,即取树的度作 为每个结点的链域个数,这就可以使对树的各种处理算法大大简化。但 在这种情况下,容易造成存储空间的浪费,因为有可能在很多结点中存 在空链域。 二、二叉树及其基本性质 1. 什么是二叉树 二叉树是树型结构的一个重要类型,许多实际问题抽象出来的数据 结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树, 而且二叉树的存储结构及其算法都较为简单,因此,二叉树显得特别重 要。 二叉树(binary tree):是一个有限结点的集合,该集合或者为空,或 由一个根结点和两棵互不相交的被称为该根的左子树和右子树的二叉树 组成。 二叉树的两个主要特点: 非空二叉树只有一个根结点; 每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。 二叉树的定义表明二叉树或为空,或是由一个根结点加上两棵分别 称为左子树和右子树的、互不相交的二叉树组成。由于这两棵子树亦是 二叉树,则由二叉树的定义,它们也可以是空树。由此,二叉树可以有 5种基本形态,如下图所示。 只有根结点的二叉树和深度为4的二叉树如下图所示: 2. 满二叉树与完全二叉树 满二叉树:是指除最后一层外,每一层上的所有结点都有两个子结点的二叉树。

文档评论(0)

1192212 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档