B-/B+树的平衡到底指的是什么
有种说法是每个节点到叶子节点的高度是一样的,那就是说树的深度只有2吗?如果深度有3,那2层和3层的节点到叶子节点的高度不就不一样了?小白求教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有种说法是每个节点到叶子节点的高度是一样的,那就是说树的深度只有2吗?如果深度有3,那2层和3层的节点到叶子节点的高度不就不一样了?小白求教
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
B树和B+树是多路平衡树的简称,主要用在大量数据的内存存储结构。
区别是B+树的数据在叶子节点且连起来,方便select * from table order by xx。关系型数据库经常要查一堆数据,B+树就用上了。
而B树在Mongo有用到,因为数据关联性不是很强,所以数据不需要在叶子上。
B树和B+树的平衡是严格平衡,非常严格,所有节点要么都有儿子,要么都没有儿子,且根节点到所有的叶子节点的路径是一样长的。
你可以认为是满的多路树,满的话,看起来就是一个全金字塔形。
平衡难道还有多种书说法???
左右两个子树的高度差的绝对值不超过1
一样的。
B-Tree 又名
平衡多路查找树
,实际上还是平衡二叉查找树
演化过来的,只不过它是多叉的不是二叉的而已。