k叉树的性质_数据结构:树(1)

本文介绍了树这种一对多的数据结构,包括树的定义、基本术语,如结点的度、叶子结点、双亲、子树等。重点讲解了二叉树的概念,如满二叉树、完全二叉树的性质,以及二叉树的节点关系。此外,还讨论了二叉树的性质,如结点数量与深度的关系。
摘要由CSDN通过智能技术生成

今天开始,将进入树这一重要的数据结构的学习。

1

树的定义和基本术语

树是一种一对多的数据结构,是n个节点的有限集。在任意一颗非空树中:

(1)有且仅有一个特定的根结点;

(2)其余结点可分为有限个互不相交的有限集,且它们本身又是一颗树,称作子树;

由上我们可以看出,树本身的定义也是一种递归定义。在后面,我们对于树的处理,会常常使用到递归思想。

9bdf482f94a0b6d0e31a8ec65cb996c8.png

树并不仅仅有一种表示方法。除了常规的直观的表示方法外,为了表示树,我们还可以以嵌套集合、广义表、凹入表示法等许许多多的方法进行表示。

50ef8acf175eb496c1d4e0b1374c0b40.png

以下关于树的概念应该清晰掌握:

结点的度

树的度

叶子/终端结点

非终端结点/分支结点

孩子

双亲

兄弟

祖先

子孙

层次(从第一层开始)

堂兄弟

深度

有序树与无序树

森林

如果遗忘请参阅书本(下图):

b4141b19916fa63dbacfd4f3c826e3b6.png

1241b617afdeb3215ac7c25c95500f1f.png

2

二叉树

二叉树是另一种树形结构,它的特点是至多只有两颗字数,即树的度不超过2,并且,它的子树有左右之分,次序不能颠倒。

要完成树的操作,我们必需要用到二叉树,因此二叉树在树中有着重要的地位。

2f127e92da89f1c9cd871d2801984440.png

以下定义需要熟悉,不熟悉自行搜索

满二叉树(全部都有)

完全二叉树(中间不漏)

45ec90307e989922e0840d25170a6dbd.png

二叉树的性质

||性质一|| 在二叉树的第i层至多有2^(i-1)个结点(i>=1)

||性质二||深度为k的二叉树至多有2^k-1个结点(k>=1)

||性质三||对任何一颗二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1

对性质三的解释:在二叉树中只有度为2的结点可以使数发生扩张,每出现一个2度结点,就多一片叶子,加上最初那一片叶子,就是总叶子数。

||性质四||具有n个结点的完全二叉树的深度为⌊log2(n)⌋+1

性质四证明:

2^(k-1)-1

k-1<=log2(n)

k=⌊log2(n)⌋+1

||性质五||如果对一棵有n个结点的完全二叉树(其深度为⌊log2(n)⌋+1)的结点按层编号,则对任意结点有:

(1)如果i=1,则结点i是二叉树的根,无双亲;如果i>1,则其双亲PARENT(i)是结点⌊i/2⌋

(2)如果2i>n,则结点i无左孩子(结点i为叶子结点),否则左孩子的结点是2i;

(3)如果2i+1>n,则结点i无右孩子,否则其右孩子是结点2i+1;

下一篇推送将介绍二叉树基本操作的有关算法及代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值