6. B树

一、B 树是一种多叉平衡查找树

相较于二叉结构的红黑树,B 树是多叉结构,所以在元素数量非常多的情况下,B 树的高度不会像二叉树那么大,从而保证查询效率。

一棵含 n 个结点的 B 树的高度 h = O(logmn),其中m是B树的最小度数

  • 提出多叉平衡查找树的思维历程:查询效率要更高 ----> 查找树的高度要更低 ----> 每个结点保存的信息要更多 ----> 多叉

二、B树的定义

为何说树的高度会影响到I/O效率

咱们有面对这样一个实际问题:就是大规模数据存储中,实现索引查询这样一个实际背景下,树节点存储的元素数量是有限的(如果元素数量非常多的话,查找就退化成节点内部的线性查找了),这样导致二叉查找树结构由于树的深度过大而造成磁盘I/O读写过于频繁,进而导致查询效率低下(为什么会出现这种情况,待会在外部存储器-磁盘中有所解释),那么如何减少树的深度(当然是不能减少查询的数据量),一个基本的想法就是:采用多叉树结构(由于树节点元素数量是有限的,自然该节点的子树数量也就是有限的)。我们就提出了一个新的查找树结构——多路查找树。

猜你喜欢

转载自www.cnblogs.com/xzxl/p/9573145.html