B-/B+树的平衡到底指的是什么

有种说法是每个节点到叶子节点的高度是一样的,那就是说树的深度只有2吗?如果深度有3,那2层和3层的节点到叶子节点的高度不就不一样了?小白求教

阅读 5.4k
3 个回答

B树和B+树是多路平衡树的简称,主要用在大量数据的内存存储结构。

区别是B+树的数据在叶子节点且连起来,方便select * from table order by xx。关系型数据库经常要查一堆数据,B+树就用上了。

而B树在Mongo有用到,因为数据关联性不是很强,所以数据不需要在叶子上。

B树和B+树的平衡是严格平衡,非常严格,所有节点要么都有儿子,要么都没有儿子,且根节点到所有的叶子节点的路径是一样长的。

你可以认为是满的多路树,满的话,看起来就是一个全金字塔形。

平衡难道还有多种书说法???
左右两个子树的高度差的绝对值不超过1

一样的。

B-Tree 又名 平衡多路查找树,实际上还是 平衡二叉查找树 演化过来的,只不过它是多叉的不是二叉的而已。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进