网站大量收购独家精品文档,联系QQ:2885784924

《常用软件算法基础》课件_第7章 树和二叉树.pptxVIP

《常用软件算法基础》课件_第7章 树和二叉树.pptx

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多

第七章树和二叉树

内容目标:

◆树的基本概念和特性。

二叉树的基本概念和性质。

二叉树的存储结构。

重难点:

二叉树的性质。

二叉树的存储结构。

1.1树的定义

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

◆定义

树(tree)是零个或多个结点的有限集合T,其中:

-结点数为0的树称为空树

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

-当n1时,其余结点可分为m(m0)个互不相交的有限集

T1,T₂,......Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)

特点:

-树中各个元素称为结点,没有任何结点的树尾空树。

-非空树中至少有一个结点,称为树的根结点,只有根结点的树称为最小树。

-树中各子树是互不相交的集合

J

1.2树的逻辑结构特点:

(1)树的根结点没有前趋结点,除根结点以外的其余结点都有且只有一个前趋结点。

(2)树中的所有结点可以有零个或多个后继结点。

线性结构

树型结构

存在唯一的没有前驱的“首元素”

存在唯一的没有前驱的“根结点”

存在唯一的没有后继的“尾元素”

存在多个的没有后继的“叶子结点”

其余的元素均存在唯一

的“前驱元素”和唯一的“后继元素”

其余的结点均存在唯一

的“前驱(双亲)结点”

和多个的“后继(孩子)结点”

1.3线性结构与树型结构比较:

1.4树的表示

A—

B—

E

K

L—

F——

C—

G——

D——

H—

M—

I一

J——(A(B(E(K,L),F),C(G),D(H(M),I,J)

凹入表示法广义表表示法

◆基本术语

√结点(node)——表示树中的元素,只有根结点的树称为最小的树

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

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

√叶子或终端结点(leaf)——度为0的结点

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

√双亲(parents)——孩子结点的上层结点叫该结点的~√兄弟(sibling)——同一双亲的孩子

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

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

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

结点A的度:3

结点B的度:2

结点M的度:0

结点A的孩子:B,C,D

结点B的孩子:E,F

树的度:3

E

K

结点A的层次:1

结点M的层次:4

结点I的双亲:D

结点L的双亲:E

结点B,C,D为兄弟

结点K,L为兄弟

J树的深度:4

DM结点F,G为堂兄弟

结点A是结点F,G的祖先

A

BCD

FGHI

叶子:K,L,F,G,M,I,J

1.5树的基本运算

1.ClearTree(T):置树T为空树。

2.Root(T):求树T的根结点。

3.InitTree(T):构造空树T。

4.CreateTree(x,F):生成以为根结点,以森林F为子树森林的树。

5.Parent(T,x):求树T中结点X的双亲结点。

6.AddChild(y,l,x):把以结点X为根的树置为结点y的第i棵子树。

7.DeleteChild(x,i):删除结点X的第i棵子树。

8.Child(T,x,i):求树T中结点X的第i个孩子结点。

9.Traverse(T):遍历树T,即按某种次序依次访问树中的各个结点,并使每个结点只被访问一次。

2.1二叉树

定义

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

√特点

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

-二叉树的子树有左、右之分,且其次序不能任意颠倒√基本形态

AAAA

BBBC

右子树为空左子树为空

左、右子树均非空

您可能关注的文档

文档评论(0)

人生风雪客 + 关注
实名认证
文档贡献者

如果有遇到文件不清或断篇的或者需要转换文件格式的情况请联系我,会在第一时间帮你完成完整的文档。文档如有侵权,请及时告知,本人将尽快予以删除,谢谢啦。

1亿VIP精品文档

相关文档