代码改变世界

B树

2010-10-09 20:41  Clingingboy  阅读(489)  评论(0编辑  收藏  举报

 

m路查找树

若满足一下条件的数,则成为m路查找树

image

如下面一棵3路查找树的示例

  1. m=3
  2. k1=20,k2=40
  3. A0{10,15},A1{25,30},A2{45,50}

规则判断

  1. K1<A1<K2,当0<i<n,即n>1时
  2. A1>K1
  3. A0<K1
  4. C也符合条件

image

B-树

 

image

 

B-树的目标

尽可能让节点的数据项填满,这样才可以让取数据时取到数据项的最大化.

与2-3-5所不同的是当遇到节点满时并不裂,而是当遇到插入节点的数据项满时才分裂,这就有可能导致满节点的父节点也是满节点的,需要二次分类.

B-树的插入

image

取中间值,然后分裂(经过2-3-4的分裂过程,这里就很容易理解了)

image

 

image

image

image

image

在这种结构下,查找关键字会比顺序表快的多

这个先不打算深入了,先有个概念