安徽农业大学计算机科学与技术.pptVIP

  1. 1、本文档共100页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第6章树和二叉树;树型结构是一类重要的非线性结构。树型结构是结点之间有分支,并且具有层次关系的结构,它非常类似于自然界中的树。

树结构在客观世界是大量存在的,例如家谱、行政组织机构都可用树形象地表示。树在计算机领域中也有着广泛的应用,例如在编译程序中,用树来表示源程序的语法结构;在数据库系统中,可用树来组织信息;在分析算法的行为时,可用树来描述其执行过程。等等。

树是一类重要的非线性数据结构,是以分支关系定义的层次结构。;6.1树的定义

定义:

树(tree)是n(n0)个结点的有限集T,其中:

有且仅有一个特定的结点,称为树的根(root)

当n1时,其余结点可分为m(m0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)

特点:

树中至少有一个结点——根

树中各子树是互不相交的集合;线性结构

第一个数据元素

〔无前驱〕

最后一个数据元素

〔无后继〕

其它数据元素

〔一个前驱、一个后继〕;A;基本术语

结点(node)——表示树中的元素,包括数据元素及假设干指向其子树的分支

结点的度(degree)——结点拥有的子树数

树的度——一棵树中最大的结点度数

叶子(leaf)——度为0的结点〔终端结点〕

孩子(child)——结点子树的根称为该结点的~~

双亲(parents)——孩子结点的上层结点叫该结点的~~

兄弟(sibling)——同一双亲的孩子;

子孙——以某结点为根的子树中的所有结点都被称为是该结点的~~

祖先——从根结点到该结点路径上的所有结点

堂兄弟——双亲在同一层的结点互为~~

结点的层次(level)——从根结点算起,根为第一层,它的孩子为第二层……

深度(depth)——树中结点的最大层次数

森林(forest)——m(m?0)棵互不相交的树的集合

有序树、无序树——如果树中每棵子树从左向右的排列拥有一定的顺序,不得互换,那么称为有序树,否那么称为无序树;A;6.2二叉树

定义:二叉树是n(n?0)个结点的有限集,它或为空树(n=0),或由一个根结点和两棵分别称为左???树和右子树的互不相交的二叉树构成。

特点

每个结点至多有二棵子树(即不存在度大于2的结点)

二叉树的子树有左、右之分,且其次序不能任意颠倒

根本形态;二叉树的根本运算

构造一棵二叉树CreateBTree(BT)

清空以BT为根的二叉树ClearBTree(BT)

判断二叉树是否为空BTreeEmpty(BT)

获取给定结点的左孩子和右孩子LeftChild(BT,node),RightChild(BT,node)

获取给定结点的双亲Parent(BT,node)

遍历二叉树Traverse(BT);二叉树性质

二叉树具有以下5个重要的性质。

【性质1】在二叉树的第i层上最多有2i-1个结点〔i?1〕;

证明:二叉树的第1层只有一个根结点,所以,i=1时,2i-1=21-1=20=1成立。

假设对所有的j,1≤ji成立,即第j层上最多有2j-1个结点成立。假设j=i-1,那么第j层上最多有2j-1=2i-2个结点。由于在二叉树中,每个结点的度最大为2,所以可以推导出第i层最多的结点个数就是第i-1层最多结点个数的2倍,即2i-2*2=2i-1。;证明:由性质1可以得出,1至K层各层最多的结点个数分别为:20,21,22,23,...,2K-1。这是一个以2为比值的等比数列,前n项之和的计算公式为:;【性质3】对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,那么n0=n2+1;;几种特殊形式的二叉树

满二叉树

定义:如果一个深度为K的二叉树拥有2K-1个结点,那么将它称为满二叉树。

特点:每一层上的结点数都是最大结点数。;完全二叉树

定义:一棵深度为h,具有n个结点的二叉树,假设将它与一棵同深度的满二叉树中的所有结点按从上到下,从左到右的顺序分别进行编号,且该二叉树中的每个结点分别与满二叉树中编号为1~n的结点位置一一对应,那么称这棵二叉树为完全二叉树。

特点:

叶子结点只可能在层次最大的两层上出现;

对任一结点,假设其右分支下子孙的最大层次为L,那么其左分支下子孙的最大层次必为L或

文档评论(0)

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

相信自己,相信明天

1亿VIP精品文档

相关文档