B树与B+树
来源:互联网 发布:冒泡排序java从小到大 编辑:程序博客网 时间:2024/05/21 19:33
B-树
B-tree树即B树,B即Balanced,平衡的意思。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是另一种树。而事实上是,B-tree就是指的B树,特此说明。
B-树是一种多路搜索树,形如:
特点
1、任何一个关键字出现且只出现在一个结点中;
2、非叶子节点除了保存关键字,还保存指向关键字记录的指针,搜索有可能在非叶子结点结束;
B+树
B+树是应文件系统所需而出的一种B树的变型树。
特点
1、非叶子节点只保存关键字(只用来索引)不保存指向关键字记录的指针,因此搜索不可能在非叶子节点结束。
2、所有关键字及其记录(或者指向关键字记录的句柄)都保存在叶子节点。
3、叶子结点本身依关键字的大小顺序链接,支持顺序检索。
B+树与B树的比较
1、B+树所有的叶子结点包含了全部关键字的信息且关键字有重复,B树的关键字分散在整个树中且关键字不会重复。
2、B+树的叶子结点本身按关键字的大小顺序进行链接,支持顺序查找。
3、B+树的非叶子节点只保存关键字,不保存记录,所有记录保存在叶子节点,查找只能在叶子节点结束。
4、B数的非叶子节点,也保存了记录,因此查找可以在非叶子节点结束。
B+树与操作系统的文件索引和数据库索引
为什么说B+树比B 树更适合实际应用中操作系统的文件索引和数据库索引?
B+树的磁盘读写代价更低
B+树的非叶子结点并没有指向关键字具体信息的指针。因此其非叶子结点相对B 树更小,如果把所有同一个非叶子结点的关键字存放在同一盘块中,那么盘块所能容纳的关键字数量也越多,树的高度相应降低,数的高度就对应I/O的次数,查找效率相应提高。因为树的高度决定了磁盘读写的次数,相对内存处理速度,磁盘I/O是非常耗时的操作,是查找效率的主要因素,降低树的高度就等于提高查询效率。
- B+与B-树
- b树与b+和b-树
- B树与B+树
- B-树 与 B+树
- B树与B+树
- B树与B+树
- B-树与B+树
- B树与B+树
- B树与B+树
- B树与B+树
- B 树与B+树
- B树与B+树
- B,B-,B+,B*树
- B-、B、B+、B*树
- B/B+/B*树
- B- ,B+ , B*树
- B , B+ ,B*树
- B-, B+,B* 树
- 数据结构与算法·实验五
- 关于Servlet编程
- DB数据库的事务特征
- 2017 10 03 小结
- 一些小知识点
- B树与B+树
- JAVA-枚举
- 2017/9/30 在线赛(A~E)
- 关系型数据库的原理
- python高级编程(六)--元类、内建属性
- java设计模式(三)——单例模式
- 数据结构与算法·实验六
- Isabella's Message (2011icpc成都站I题)hdu4119
- Angular Material主题