二叉树

来源:互联网 发布:js原型继承面试题 编辑:程序博客网 时间:2024/05/24 01:58

定义:

二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。如图:


特点:

1.二叉树结点的最大度数为2;( 树中结点的最大度数没有限制

2. 二叉树的结点有左、右之分。(树的结点无左、右之分

二叉树的五种基本形态

 空二叉树,只有一个根结点,根结点只有左子树,根结点只有右子树,根结点既有左子树又有右子树

两个节点的二叉树共有五种形态


满二叉树:

在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。


满二叉树的特点有:

叶子只能出现在最下一层。

非叶子结点的度一定是2。

在同样深度的二叉树中,满二叉树的结点个数一定最多,同时叶子也是最多。

完全二叉树

对一棵具有n个结点的二叉树按层序编号,如果编号为i(1<=i<=n)的结点与同样深度的满二叉树中编号为i的结点位置完全相同,则这棵二叉树称为完全二叉树。

完全二叉树的特点有:

叶子结点只能出现在最下两层。

最下层的叶子一定集中在左部连续位置。

倒数第二层,若有叶子结点,一定都在右部连续位置。

如果结点度为1,则该结点只有左孩子。

同样结点树的二叉树,完全二叉树的深度最小。

注意:满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。


二叉树性质:

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


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


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


四、具有n个结点的完全二叉树的深度为⌊log₂n⌋+1


五、如果对一棵有n个结点的完全二叉树(其深度为⌊log₂n⌋+1)的结点按层序编号,对任一结点i(1<=i<=n)有以下性质:


这次就到这里,,后面的存储、建立以及遍历等等会在之后不断更新

0 0
原创粉丝点击