二叉树删除节点算法 为什么删除二叉排序树中一个结点,再重新插入上去,不一定得到原来的二叉排序树?
浏览量:1179
时间:2021-03-16 05:43:14
作者:admin
为什么删除二叉排序树中一个结点,再重新插入上去,不一定得到原来的二叉排序树?
二进制排序树只要求每个节点的左子级小于它,右子级大于或等于它。先看删除操作:“先将删除的节点与最后一个节点交换,交换后删除最后一个节点,然后重建二叉树”,在这个过程中,如果删除根节点左侧的节点,则在与最后一个节点交换后,为了保持二叉排序树的特性,最后一个节点会逐渐向上移动,这很可能会改变根节点的位置。然后让我们看看插入操作:“直接与根节点比较。如果小于根节点,插入左子树,递归一次,选择合适的节点,如果大于根节点,依此类推。所以平衡二叉树可能不同。我建议你画一幅图,试着操作一下,加深对这两种操作的理解!
二叉树删除节点算法 递归删除二叉树叶子节点 从二叉树删除所有叶子节点
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
c语言补码反码 c语言求补码代码