逻辑上的二叉树有五种形态:
(1)空二叉树;
(2)只有一个根节点的二叉树
(3)只有左子树
(4)只有右子树
高度=深度+1,深度=层数。
节点M的深度就是根节点到M的路径长度,任何深度为d的节点的层数也为d。
而叶节点没有非空子树,至少有一个非空子树的节点成为分支节点。
而满二叉树和完全二叉树的区别在于:
满二叉树:通俗的讲,要么分支节点有两个非空子节点,要么其为叶节点;
安全二叉树:满足两个条件:如果高度为d,则除了d-1层,其他都是满的;最后一层的叶节点集中在左边的若干位置上。
二叉树的性质:
满二叉树定理:1、非空满二叉树树叶数等于其分支节点数+1.通俗的将就是说,叶节点的数量等于所有分支节点(包括根节点)的数量+1
2、一颗非空二叉树空子树的数目等于其节点数目加1。即下一层的不存在的叶节点=所有节点数目+1.
3、任何一颗二叉树,度为0的节点比度为2的节点多一个。
4、二叉树的第i层最多有2的i次方个节点
5、高度为k(深度为k-1。只有一个根节点的二叉树的高度为1,深度为0)的二叉树最多有2的k-1次方个节点
6、有n个节点的完全二叉树的高度为log2(n+1),深度为log2n。
遍历二叉树:
前序遍历:根左右 A B D C
中序遍历:左根右 二叉排序树 B D A C
后序遍历:左右根。D B C A
二叉检索树(BST):
二叉检索树或者为空,或者是满足下列条件的非空二叉树:
1、若它的左子树非空,则左子树上所有节点的值均小于根节点的值;
2、若他的右子树非空,则右子树上所有节点的值均大于或等于根节点的值
3、左右子树本身又各是一棵二叉检索树
霍夫曼树略。