看CLRS 对B树的浅显理解

定义及特点:

  每个结点有n个关键字和n+1个指向子结点的指针,即有n+1个孩子结点。

  n个关键字按非递减的顺序存储。

  最小度数t>=2,除了根结点的所有内部结点(非叶结点)的孩子数>=t且<=2t,即相应的关键字数>=t-1且<=2t-1。

  孩子数2t时为满结点。

搜索操作:

  和BST差不多,只不过因为每个结点中的关键字增多,所以先要在结点中找到小于目标元素中的最大的一个关键字,然后在该关键字后的子树中继续递归寻找。

插入操作:

  只插入到叶结点中,如果满了就把该叶结点分裂(把中间的结点提到父结点中,剩下的结点一边一半,作为父结点的两个子结点存在)。在向下搜索插入位置的时候,每遇到一个满结点,就把该结点分裂,否则在将目标元素插入到满的叶结点的时候,父结点如果是满的,还是要向上回溯,把相关的满结点分裂。

删除操作:

  情况太复杂,用到的时候在看书。。

posted @ 2016-05-14 11:02  kk_kk  阅读(175)  评论(0编辑  收藏  举报