You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.0 KiB
1.0 KiB
为弥补红黑树高度不可控问题,提出多叉搜索树,即为B-树 B树满足一下条件:
- 树中每个节点至多有M个孩子节点(即至多有m-1个关键字)
- 除根节点外,其他节点至少有m/2个孩子节点
- 若根节点不是叶子节点,则根节点至少有2个孩子节点
- 所有叶子节点都在同一层上,即B树是所有结点的平衡因子均等于0的多路查找树。
B-tree的插入:
与BST相同,比较大小后判断放在左还是右
B-tree的删除:
需要先判断节点是否富有,富有:删除一个key,剩余key的数量大于等于(m/2)向上取整-1。 节点如果不富有需要从兄弟、父亲节点借。如果都不富有,只能降低树的高度。具体过程参考B站:站长数据结构
B-tree模拟 B-Tree Visualization (usfca.edu)