码迷,mamicode.com
首页 > 数据库 > 详细

数据库B树

时间:2015-10-31 21:27:58      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:

总结自《算法导论》

  • 一、数据结构定义
  • 二、操作
    • 1、查找
    • 2、插入
    • 3、删除

一、B树是针对磁盘存储而设计的一种数据结构,在B树种一个node的大小一般就是一个磁盘页的大小,所以非常便于IO操作。

针对某个特定的B树都会定义一个t值,表示的意思是:除了根节点之外的内部节点最多有2*t个孩子,最少有t个孩子,相应的指针的数量为:2*t-1和t-1

任意叶子节点的高度是一样的

 

二、操作

1、查找

2、插入

一定会插入到叶子上。

从根节点依次往下递归,如果遇到一个满的节点,就将其分裂,从而保证在插入位置的node的父节点都不是慢的,便于后面的调整。

3、删除

3.1和插入类似也是从上往下的递归过程。在没有查到目标节点之前,如果当前node有t-1节点

3.1.1 如果node的某个兄弟节点有至少t个孩子,则进行平移一下

3.1.2 否则node和任意一个兄弟合并

3.2在到达关键字k

3.2.1叶子:直接删除

3.2.2 内部

若被删除的节点的某个孩子系欸但有至少t个孩子,则从那边借一个,取代被删除的节点

否则两个孩子合并,算法结束。

 

[1] http://baike.baidu.com/link?url=xh9Y-HgqXf-o5b5HEw-2aDjfDkAOc9ecaRVtWE4MTbTG8EVwyjwt0iNzA34vgadIIU_oF_42HS2I4TwPkTGjrK

[2] http://www.cnblogs.com/oldhorse/archive/2009/11/16/1604009.html

数据库B树

标签:

原文地址:http://www.cnblogs.com/deepblueme/p/4926097.html

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