二叉树的基本概念

二叉树的定义

一棵二叉树是结点的一个有限集合,该集合或者为空,或者是由一个根节点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成。

二叉树的5种基本形态,任意一棵二叉树都由这5种形态组合而成

空二叉树,单节点二叉树,右子树为空的二叉树,左子树为空的二叉树,左右子树都有的二叉树

性质1

非空二叉树的第i层,最多有(2的(i-1)次方)个节点

性质2

高度为h的二叉树,最多有(2的h次方-1)个节点

性质3

对于任意一棵二叉树,如果它的叶子节点数为N0,度为2的节点数为N2,那么N0=N2+1

性质4

具有n个结点的完全二叉树的高度为log2(n+1)或log2(n)+1。

性质5

如果将一棵有n个结点的完全二叉树自顶向下,同一层自左向右连续给节点编号为1,2,3,···,n,然后按此结点编号将树中各结点顺序地存放于一个一位数组中,并简称编号为i的结点为结点i(1≤i≤n)。则有以下关系:

若i≤n/2,即2i≤n,则编号为i的结点为分支结点,否则为叶子结点。

若n为奇数,则每个分支结点都既有左孩子结点,也有右孩子结点;若n为偶数,则编号最大的分支结点(编号为n/2)只有左孩子节点,没有右孩子结点,其余分支结点都有左右孩子结点

若编号为i的结点有左孩子结点,则左孩子结点的编号为2i,若编号为i的结点有右孩子结点,则右孩子结点的编号为(2i+1)。

除根结点外,若一个结点的编号为i,则它的双亲结点的编号为⌊i/2⌋,也就是说,当i为偶数时,其双亲结点的编号为i/2,它是双亲结点的左孩子结点,当i为奇数时,其双亲结点的编号为(i-1)/2,它是双亲结点的右孩子结点。

满二叉树

结合性质2,高度为h的二叉树,如果它的节点个数达到最大,即为满二叉树

完全二叉树

如果一棵具有n个结点的高度为k的二叉树,它的每一个结点都与高度为k的满二叉树中编号为1~n的结点一一对应,则称这棵树为完全二叉树。

换一种说法

若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。

理解一下完全二叉树的概念,下图是一个满二叉树

然后是一个完全二叉树

 

 

转载于:https://my.oschina.net/dongtianxi/blog/796035

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值