二叉查找树(插入、查询、删除)

插入

不改变树原来的结构,小的插到左边,大的插到右边。

插入

插入10
以此类推:
全部插入

查询

和插入一样,小的往左找,大的往右找

查询

删除

  • 叶子节点(不存在后继结点):直接删除
  • 存在后继节点:使用中序遍历的后继结点取代要删除的节点
    • 后继节点存在右子树:将此右子树移到该后继节点的位置。
    • 后继结点不可能存在左子树,若存在则不是后继结点

红色代表要删除的节点;绿色代表后继节点;蓝色代表后继结点的右子树
删除50
50的后继节点是70,但是70存在右子树。
在这里插入图片描述

其他例子

删除叶子节点(不存在后继结点)

删除30
在这里插入图片描述

存在后继节点

1 后继节点无右子树

删除20
在这里插入图片描述
删除20
在这里插入图片描述

2 后继结点有右子树

删除20

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值