amazzzzzing

导航

数据结构 - 二叉排序树

数据结构 - 二叉排序树

1 特点

  • 对二叉树的任一结点,记其关键字为 \(key\) ,左子树根节点关键字为 \(lkey\) ,右子树关键字为 \(rkey\) ,有 \(lkey<key<rkey\)

2 维护

2.1 插入

  • 从根节点开始,进行查找,若找不到待插入的结点,则将结点插入最后一个查找位置。

2.2 删除

  • 若为叶子结点,则直接删除
  • 若只有一棵子树,则用子树根节点替代被删除的结点。
  • 若有两棵子树
    • 法1,将右子树根节点插入到左子树上(附加到中序遍历最后一个结点,也即最右侧结点),然后用左子树的根节点替代被删除的结点。
    • 法2,找出被删除结点的前驱结点(左子树的最右结点),用该节点替换被删除的结点,同时将前驱结点删除。(从平衡性而言,法2更好)

posted on 2020-11-28 04:06  amazzzzzing  阅读(158)  评论(0)    收藏  举报