红黑树:https://www.cnblogs.com/CarpenterLee/p/5503882.html
平衡二叉树AVL:http://lib.csdn.net/article/datastructure/9204
B-Trees
- B ≤ n u m b e r o f c h i l d r e n < 2 B B \le number of children < 2B B≤numberofchildren<2B
- B − 1 ≤ n u m b e r o f k e y s < 2 B − 1 B-1 \le number of keys <2B-1 B−1≤numberofkeys<2B−1
- all leaves are at the same depth
if B = 2, the number of children is 2 or 3, this is the 2-3 tree
- Searching
和普通的二叉树查找差不多,将给定的key值和node中的key值依次进行比较,找到值,或找到要查找的子节点的位置,继续查找 - Insertion
找到要插入的叶子节点的位置,插入后如果节点中keys过多,就分裂这个节点,将中间节点放入上层中,将这个节点平分位两个节点。如果上层节点中的keys也过多,用同样的方法分裂 - Deletion
删除在叶子节点进行删除,如果删除的位置不是叶子节点就先将右子树最小key提上来。如果要删除的叶子节点删除key后keys数过少,就查看它的兄弟是不是能借,如果兄弟keys足够可以借,就将父key拉下来,兄弟key放上去;如果兄弟key也不足,就将两个节点合并。父key拉下来,两个节点合并,父节点如果keys过少,就用同样的方法处理。
https://www.bilibili.com/video/av12121729?from=search&seid=300379415039203747
B树又叫B-树