B-Tree的性质介绍
B-树是⼀种常见的数据结构。和他⼀起的还有B+树。
在这⾥,需要澄清⼀下概念。B树,B-树,B+树有什么区别?他们有什么关系呢?
其实,从数据结构来讲只有2种,也就是B-树和B+树。有时候,B-树⼜称为B树,他们是⼀个东西。请注意,B-树中间的“-”是连字符,⽽不是“减号”。英⽂中是B-Tree,翻译成中⽂后,也就是B树,有的翻译喜欢把连字符“-”也带着,于是就成了B-树,⽽B-树被有些读者误读为B减树。
介绍B-树之前,⾸先看⼀下⼀个重要的概念:阶。
⼀个树的阶,就是这个树中各个节点的⼦节点个数的最⼤值。也就是说,如果有的节点有2个⼦节点,有的节点有4个⼦节点,最多的有5个⼦节点,那么,这个树的阶就是5.
从这个⾓度来讲,⼆叉树的阶是2.
接下来,我们介绍⼀下B-树的主要性质。我们假定B-树的阶为m。⼀个m阶的B-树,要么是⼀个空树,要么是具有如下性质的树:二叉树的基本性质
1,每个节点最多有m个⼦节点。最少有m/2(向上取整)个节点。或者这么表述:m/2 <= ⼦节点个数<= m。但是根节点是例外的,根节点可以最少有2个⼦节点。
2,每个节点的⼦节点的个数,⽐该节点中保存的关键字的个数多1. 也就是,当节点中保存k个关键字时,该节点会有k + 1个⼦节点(⼦树)。
3,每个节点中的k个关键字是按照从⼩到到排列的,分别记为k1,k2,k3,......kk。那么该节点会有k+1个指针,记为
p0,p1,p2,......pk。并且,p3所指向的⼦节点中的所有元素,都⼤于k3,且都⼩于k4. 如下图所⽰。这⼀点也⽐较容易理解和记忆,各个指针p整好位于关键字k的插空的位置,所以,插空处的指针指向的⼦节点的元素的值,就理所当然的应该⼤于指针左边的元素,⼩于指针右边的元素。
4,B-树是严格的平衡查树,它的左右⼦树的⾼度是相等的。且叶⼦节点处于同⼀层,并且可以⽤空节点表⽰。
⼀个B-树的例⼦:
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,谢谢⼤家对的⽀持。如果你想了解更多相关内容请查看下⾯相关链接
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论