数据结构 - 二叉排序树
数据结构 - 二叉排序树
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) 收藏 举报