第二章数据结构和算法.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文档。上传文档
查看更多
第二章 数据结构与算法 2.6 树与二叉树 树的基本概念 树是一种简单的非线性结构。在树这种数据结构中,所有数据元素之间的关系具有明显的层次特性。 在用图形表示树这种数据结构时,很像自然界中的树,只不过是一棵倒张的树,因此,这种数据结构就用“树”来命名。 第二章 数据结构与算法 由于树具有明显的层次关系,因此,具有层次关系的数据都可以用树这种数据结构来描述。在所有的层次关系中,人们最熟悉的血缘关系可以很直观地理解树结构中各数据元素结点之间的关系,因此,在描述树结构时,也经常使用血缘关系中的一些术语。 在树结构中,每一个结点只有一个前件,称为父结点。在树中,没有前件的结点只有一个,称为树的根结点,简称树的根。 第二章 数据结构与算法 在树结构中,每一个结点可以有多个后件,它们都称为该结点的子结点。没有后结点称为叶子结点。在树结构中,一个结点所拥有的后件个数称为该结点的度。在数中,所有结点中的最大度称为树的度。 在树结构中,一般按如下原则分层: 根结点在第1层; 同一层上所有结点的所有子结点在下一层。 第二章 数据结构与算法 树的最大层次称为树的深度。 在树中,以某结点的一个子结点为根构成的树称为该结点的一棵子树。 在树中,叶子结点没有子树。树在计算机中通常用多重链表表示。多重链表中的每个结点描述了树中对应的结点的信息,而每个结点中的链域个数将随树中该结点的度而定,其一般结构如图1.9所示。 图1.9 树链表中的结点结构 第二章 数据结构与算法 二叉树及其基本性质 二叉树的基本概念 二叉树是一种很有用的非线性结构。二叉树不同与前面介绍的树结构,但它与树结构很相似,并且,树结构的所有术语都可以用到二叉树这种数据结构上。 第二章 数据结构与算法 二叉树具有以下两个特点: 非空二叉树只有一个根结点; 每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。 由以上特点可以看出,在二叉树中,每一个结点的度最大为2,即所有子树也均为二叉树。而树结构中的每一个结点的度可以是任意的。另外,二叉树中的每一个结点的子树被明显地分为左子树与右子树。 第二章 数据结构与算法 (2)二叉树的基本性质: 性质1:在二叉树的第k层上,最多有2k-1(k0)个结点。 性质2:深度为m的二叉树最多有2m-1个结点。 性质3:在任意一棵二叉树中,度为0的结点总是比度为2的结点多一个。 性质4:具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取的整数部分。 第二章 数据结构与算法 (3)满二叉树与完全二叉树 满二叉树与完全二叉树是两种特殊形态的二叉树。 1. 满二叉树 所谓满二叉树是指这样一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。 第二章 数据结构与算法 2. 完全二叉树 所谓完全二叉树是指这样的二叉树:除最后一层外,每一层上的结点树均达到最大值;在最后一层上只缺少右边的若干结点。 第二章 数据结构与算法 3. ?二叉树的存储结构 在计算机中,二叉树通常采用链式存储结构。 与线性链表类似,用于存储二叉树中各元素的存储结点也由两部分组成:数据域与指针域。但在二叉树中,由于每一个元素可以有两个后件,因此,用于存储二叉树的存储结点的指针域有两个: 第二章 数据结构与算法 由于二叉树的存储结构中每一个存储结点有两个指针域,因此,二叉树的链式存储结构也称为二叉链表。 对于满二叉树与完全二叉树来说,根据完全二叉树的性质6,可以按层序存储,这样,不仅节省了存储空间,又能方便地确定每一个结点的父结点与左右子结点的位置。但顺序存储结构对于一般的二叉树不适用。 * * Value Degree Link1 Link2 … Linkn 右指针域 数据域 左指针域 图1.10为二叉树存储结点的结构 一个用于指向该结点的左子结点的存储地址,称为左指针域;另一个用于指向该结点的右子结点的存储地址,称为右指针域。图1.10为二叉树存储结点的示意图。 *

文档评论(0)

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

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

1亿VIP精品文档

相关文档