二叉树的种类
- 标题是数据结构之树,但是本篇不会去讲树的概念,而是讲我们开发过程比较常见的二叉树;二叉树常见的有满二叉树、完全二叉树、二叉查找树(又称二叉排序树或二叉搜索树)。由二叉查找树的不稳定性,可能会出现完全左斜或右斜的情况导致查找效率低出现了平衡二叉树(AVL来自三位发明者的名字首字母组合)、红黑树;又由于数据是存在磁盘中,而磁盘IO是极慢的,所以出现B Tree(多路平衡查找树)和变种B+ Tree。下面一一介绍:
二叉树
- 若二叉树的层次从0开始,则在二叉树的第i层至多有2^i个结点(i>=0)
- 高度为k的二叉树最多有2^(k+1) - 1个结点(k>=-1) (空树的高度为-1)
- 对任何一棵二叉树,如果其叶子结点(度为0)数为m, 度为2的结点数为n, 则m = n + 1
满二叉树
满二叉树又称完美二叉树,即二叉树除叶子结点外的每个结点都有两个子结点,如下图示: