红黑树的性质:
1.每个节点是红的或者是黑的(废话)
2.根节点是黑的
3.每个叶子节点是黑的
4.红色节点的两个儿子节点是黑色的
5.每个结点到他的子孙节点上所有的路径包含相同数目的黑结点。
B树性质:
M阶B树满足一下条件:
1.每个结点最多拥有M个孩子, 也就是说每个结点最多有M-1个关键字。
2.根结点最少有两个孩子,也就是说根节点可以有一个关键字。
3.除跟结点,分支结点最少拥有ceil(m/2)个孩子,也就是说最少有ceil(m/2) - 1个关键字。
4.叶子节点在同一层
5.有K个孩子的分支结点,存在K-1个关键字,关键字从小到大排序
6关键字满足ceil(M/2)-1 <= n <= M-1
总结:因为第5个特性,我总结出,有M个孩子的节点,就有M-1个关键字。
根结点有[1, M-1]关键字,非根结点[ceil(m/2) - 1, M-1]个关键字
换成子树的表达就是,根结点有[2, M]子树,非根结点[ceil(m/2) , M]个子树
- 上限:每个节点最多有 M 个子树
- 下限:
根节点至少2个子树,
非根节点至少有⌈M /2⌉个子树