Before
B树和平衡二叉树的不同之处是:B树属于多叉树又名平衡多路查找树(查找路径不止两个),数据库索引技术里大量使用着B树和B+树的数据结构。
注意: 有文章把B树和B-tree理解成了两种不同类别的树,其实这两个是同一种树
用途
数据库索引存储在磁盘上,特别大,索引不能全部加载到内存,所以需要逐一加载磁盘页,磁盘页对应索引树的节点。如果是二叉搜索树,查询的时候,树有多高,就要查多少次。也就是说,最坏情况下,磁盘IO次数等于树的高度。
因此,为了树变得矮胖,树的每一个节点最多包含K个孩子,K称为B树的阶,K的大小取决于磁盘页的大小。
规则
1.根结点至少有两个子女。
2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m
3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m
4.所有的叶子结点都位于同一层。
5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划

发表回复