[学习记录]二叉树删除

Posted trickofjoker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[学习记录]二叉树删除相关的知识,希望对你有一定的参考价值。

二叉树删除涉及到多种情况,需要逐个处理

1.当前节点为叶子节点

  直接删除

2.当前节点右子树为空

  复制左子树中最大的值,用该值替代当前节点,删除左子树中原节点。

3.当前节点右子树不为空

  复制右子树中最小的值,用该值替代当前节点,删除右子树中原节点。

 

 

总结

  1.如果二叉树中存在大于等于或小于等于的关系,则需要根据情况选择是用右还是左,如果是严格大于小于的话左右都一样。

  2.由于替换节点时,对于被提拔的节点来说,原本的位置的处理和删除类似,因此可以将这个操作抽象出来,从而递归调用

  

 

以上是关于[学习记录]二叉树删除的主要内容,如果未能解决你的问题,请参考以下文章

ds第五章学习记录

ds第五章学习记录

编程熊讲解力扣算法《二叉树》

基本数据结构学习总结: 二叉树的遍历

树(二叉树)的建立和遍历算法(前序,中序,后序)

学习数据结构笔记 --- [二叉树学习(BinaryTree)]