二叉排序树
特性
1.左节点数据 < 根节点数据 < 右节点数据
2. 每个节点的度最大为2
二叉平衡树:
特性:
1.左子树与右子树的深度差,最大不能超过1.
2.二叉平衡树是二叉排序演变
以上查找一个数据的时间复杂度最大为 O(logn)
红黑树 就是 二叉平衡树
B树: 是多叉二叉平衡树。
特性: 1、控制树的高度 2、横向扩展
特点: 每层元素从左到有逐渐递增。
B树由红黑树演变而来
为什么会有这种演变呢?
假设有10W条数据,树的深度h将会很大,查询时间复杂度 O(log h), h越大,所花费的时间越高。. 如果查询的是多个数据,那么时间复杂度将是 O(m log h)。 因此在控制高度的情况下,对红黑树进行横向扩展,就成了B树。
B树时间复杂度: O(m n / (2^h -1)) 这里只能大致说出 横向时间复杂度 比 纵向要低,而且随着数量的越多,优势越明显。
B+树,由B树演变而来,用于索引。
特性:
1.非叶子节点,存储的是指针。 叶子节点,存储的是数据集。
2.叶子节点有指针指向,便于进行范围式查找。 (优点)