平衡二叉树、B树、B+树、B*树
平衡二叉树
平衡二叉树就是为了解决二叉查找树退化成一颗链表而诞生了。
平衡树的特点:
1、具有二叉查找树的全部特性。
2、每个节点的左子树和右子树的高度差至多等于1。
左旋:以某个结点作为支点(旋转结点),其右子结点变为旋转结点的父结点,右子结点的左子结点变为旋转结点的右子结点,左子结点保持不变。
右旋:以某个结点作为支点(旋转结点),其左子结点变为旋转结点的父结点,左子结点的右子结点变为旋转结点的左子结点,右子结点保持不变。
平衡树基于这种特点就可以保证不会出现大量节点偏向于一边的情况了。平衡是在插入和删除时候通过左旋、右旋操作进行平衡。
B树
B-tree树即B树,B即Balanced,平衡的意思。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是另一种树。而事实上是,B-tree就是指的B树。
1、树中每个结点最多含有m个孩子(m>=2);
2、除根结点和叶子结点外