二分查找、红黑树、B-树、B+树

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找、红黑树、B-树、B+树相关的知识,希望对你有一定的参考价值。

参考技术A 1.二分查找

2.红黑树
红黑树是一种自平衡二叉查找树。
除了二叉查找树的一般要求,红黑树还有如下的额外要求:
(1)结点是红色或黑色的。
(2)根结点是黑色的。
(3)所有叶结点是黑色的空结点。
(4)每个红色结点的两个子结点都是黑色的。
(5)从任一结点到其每个叶子结点的路径包含相同数量的黑色结点。
性质:从根结点到叶子结点的最长路径不超过最短路径的2倍。例如根结点-黑色结点-叶结点,最短路径为2;根结点-红色结点-黑色结点-红色结点-叶结点,最长路径为4。

3.B树
B树是一种平衡的多路查找树。
一棵m阶的B树需要满足的特性:
(1)根结点的子结点数范围为2 ~ m个。
(2)除根结点、叶结点以外的结点的子结点数范围为⌈m/2⌉ ~ m个。
(3)叶结点在同一层,有(⌈m/2⌉-1) ~ (m-1)个关键字(所有非根结点的性质);根结点有1 ~ (m-1)个关键字。
(4)有k个子结点的结点中含有k-1个关键字。

4.B+树
一棵m阶的B+树和m阶的B树的差异:
(1)有n个子结点的结点中含有n个关键字,
(2)所有叶子结点包含了全部关键字信息及指向含这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大顺序连接。
(3)所有非叶子结点可以看成是索引部分,结点中仅含有其子树中的最大(或最小)关键字。
通常在B+树上有两个头指针,一个指向根结点,另一个指向关键字最小的叶子结点。因此可以对B+树进行两种查找运算:一种是从最小关键字开始进行顺序查找,另一种是从根结点开始进行随机查找。

以上是关于二分查找、红黑树、B-树、B+树的主要内容,如果未能解决你的问题,请参考以下文章

查找算法总结(二分查找/二叉查找树/红黑树/散列表)

《漫画算法2》源码整理-1 二分查找树 AVL树 红黑树

二叉树平衡二叉树B树B+数红黑树(简述)

2-3-4树---红黑树基础

查找算法之顺序二分二叉搜索树红黑树 详细比较总结

编程珠玑查找排序B+树