码迷,mamicode.com
首页 > 其他好文 > 详细

什么是B+树??

时间:2017-09-08 21:53:48      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:font   最大   算法   size   没有   对象   遍历   父节点   bsp   

上一篇中,我们了解了B树,辣么。。B+树又是什么呢??

 

一:定义:B+树是基于B树的,是B树的变形,也是一种多路搜索树。查询性能更加出色。

 

 技术分享

1.每个父节点元素出现在子节点中,是子节点的最大或最小元素。

2.根节点的最大元素也是B+树中的最大元素

3.所有关键字都在叶子结点出现,包含了全量元素信息。

5.每个叶节点都带有指向下一个元素的指针,从而形成了一个有序链表。

 

提出一个相关的概念卫星数据,在算法导论里,是指 一条纪录(一个对象中)中除了关键字key以外的其他数据。在B树中,中间节点和叶子节点都带有卫星数据,而在B+树中,只有叶节点带有卫星数据,中间节点只是索引,没有任何数据。

数据库的聚集索引(索引中键值的逻辑顺序决定了表中相应行的物理顺序)中,叶节点直接包含卫星数据,非聚集索引(索引的逻辑顺序与磁盘上行的物理存储顺序不同)中,叶节点含有指向叶节点的指针。

二:查找:

B+树大致上与B树一样,但是也有不同:

1. 间结点无卫星数据,磁盘页中可以存更多的元素。B+树相对高度更小,I/O次数更少。

2. B树查询需要最终找到叶子节点,B-树找到匹配元素即可

3. B树查找性能较差(最好情况是查根节点,最坏是查到叶子节点),B树每一次都稳定。

4. B树范围查询时,只能中序遍历。B+树在链表上遍历即可。

 

三:插入删除:

  与B树类似,不再赘述。

 

什么是B+树??

标签:font   最大   算法   size   没有   对象   遍历   父节点   bsp   

原文地址:http://www.cnblogs.com/yx1997/p/7496366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!