问:什么是满二叉树?什么是完全二叉树?什么是平衡二叉树?什么是二叉查找树?

满二叉树

  除最后一层无任何子节点外,每一层上的所有结点都有两个子结点二叉树。

  国内教程定义:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树。

                                      

完全二叉树

完全二叉树是一种特殊的二叉树,满足以下要求:

  1. 所有叶子节点都出现在 k 或者 k-1 层,而且从 1 到 k-1 层必须达到最大节点数;

  2. 第 k 层可以不是满的,但是第 k 层的所有节点必须集中在最左边。 
    需要注意的是不要把完全二叉树和“满二叉树”搞混了,完全二叉树不要求所有树都有左右子树,但它要求:

  3. 任何一个节点不能只有左子树没有右子树

  4. 叶节点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。

                           

二叉查找树

二叉查找树(又叫二叉排序树),它是具有下列性质的二叉树:

  1. 若左子树不空,则左子树上所有结点的值均小于它的根结点的值;

  2. 若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;

  3. 左、右子树也分别为二叉排序树。

二叉查找树中,左子树都比节点小,右子树都比节点大,递归定义

根据二叉排序树这个特点我们可以知道:二叉排序树的中序遍历一定是从小到大的

平衡二叉树

平衡二叉树的提出就是为了保证树不至于太倾斜,尽量保证两边平衡。因此它的定义如下:

  1. 平衡二叉树要么是一棵空树

  2. 要么保证左右子树的高度之差不大于 1

  3. 子树也必须是一颗平衡二叉树

 

猜你喜欢

转载自blog.csdn.net/u014689845/article/details/88256738