B树和B+树
https://blog.csdn.net/GY325416/article/details/100107547
https://segmentfault.com/a/1190000020416577
https://www.cnblogs.com/makai/p/10861296.html
B树(B-Tree)和B+树
B树
B树属于多叉树又名平衡多路查找树(查找路径不只两个),数据库索引技术里大量使用着B树和B+树的数据结构
B数的时间复杂度是O(log[n]), 红黑二叉树的时间复杂度也是O(log[n]),所以B树的优势是比红黑树存储更多的节点
阶数:内部结点可以有的子结点的最大值
最小度数:
三阶B树又称为——2-3树
四阶B树又称为——2-3-4树
性质
- 根节点至少有两个子节点
- 每个节点有M-1个key,并且以升序排列
- 位于M-1和M key的子节点的值位于M-1 和M key对应的Value之间
- 其它节点至少有M/2个子节点

B+树
- 有k个子结点的结点必然有k个关键码
- 非叶结点仅具有索引作用,跟记录有关的信息均存放在叶结点中
- 树的所有叶结点构成一个有序链表,可以按照关键码排序的次序遍历全部记录

比较:
B和B+树的区别在于,B+树的非叶子结点只包含导航信息,不包含实际的值,所有的叶子结点和相连的节点使用链表相连,便于区间查找和遍历。
B+树更适合文件索引系统
- B+树单一结点存储的数据更多, 查询IO的次数更少
- B+树的查询都需要查找到叶子结点, 查询性能是稳定的, B树每个结点都可能查找到数据, 不稳定
- B+树遍历所有数据只需要遍历叶子结点组成的链表即可, 但是B树需要进行中序遍历

浙公网安备 33010602011771号