二叉排序树、平衡二叉树、B-树

二叉排序树(BST)

  • 删除关键字操作
    • 1)p结点为叶子节点
      • 直接删除
    • 2)p节点只有左子树和右子树
      • 删除p节点,把唯一的子树挂在原节点位置上
    • 3)p节点既有左子树又有右子树
      • 沿着左子树右节点找到左子树最大关键字节点 r ,或沿着右子树左节点找出右子树最小关键字节点 r 。把节点 r 中关键字与 p 中关键字进行替换,在按1)或2)删除节点 r

平衡二叉树(AVL)

  1. 平衡因子:某结点的左子树与右子树的高度(深度)差即为该结点的平衡因子(BF,Balance Factor)。
  2. 平衡二叉树上所有结点的平衡因子只可能是 -1,0 或 1。
  3. 平衡二叉树思想
  4. 旋转操作:
    – 单向左旋平衡处理、单向右旋平衡处理:对平衡因子不为0、1、-1的结点进行旋转操作
    – 双向(先左后右、先右后左)旋转平衡处理:先对对平衡因子不为0、1、-1的结点的左子树或右子树进行旋转操作,再对结点本身做旋转操作。
    – 例:插入55,12,24,47,30,68,19
    《二叉排序树、平衡二叉树、B-树》

B-树

  • 是一种多路搜索树

  • 由于M/2(向上取整)的限制,在插入结点时,如果结点已满,需要将结点分裂为两个各占M/2(向上取整)的结点;删除结点时,需将两个不足M/2(向上取整)的兄弟结点合并。
    《二叉排序树、平衡二叉树、B-树》

    原文作者:平衡二叉树
    原文地址: https://blog.csdn.net/canyanruxue/article/details/78530973
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞