B+ 树

2025年4月1日 | 3 分钟阅读

插入

  • 步骤 1 找到正确的叶子节点 L
  • 步骤 2 尝试将(键,指针)对放入 L
    步骤 2a 如果 L 有足够的空间,则放入。否则,拆分 L(分为 L 和一个新节点 L2)
    步骤 2b 将 L 的条目均匀地重新分配给 L 和 L2
    步骤 2c 向上复制中间键,即递归地将中间键插入 L 的父节点,并将 L2 的指针添加到 L 的父节点
  • 步骤 3 插入内部节点 V 时
    步骤 3a 如果 V 有足够的空间,则放入。否则,拆分 V(分为 V 和一个新节点 V2)
    步骤 3b 将 V 的条目均匀地重新分配给 V 和 V2
    步骤 3c 向上移动中间键。(与叶子节点拆分进行对比。)
  • 步骤 4 拆分使树“增长”,使其更宽。如果根节点拆分,则树的高度增加一。
DS Insertion DS Insertion2 DS Insertion3

程序

输出

 
下一主题#