二叉排序树删除节点的几种方法
1:删除节点左子树的最右边的元素替代之,相当于用前继节点替代
2:删除节点右子树的最左边的元素替代之,相当于用后继节点替代
以上两种都不改变中序遍历二叉树所得的顺序
3:设要删除的节点是B,节点B是节点A的左子树。删除节点B以后,令B的左子树为A的左子树,B的右子树加到B的左子树的最右边。
4:
http://www.cppblog.com/guogangj/archive/2009/10/26/99502.html
,假设要删除节点A,则(考虑节点A的左子树,找出左子树中最大的节点并与A替换,若此时A为叶子节点,则直接删除,否则重复括号内的过程
)
。
http://www.cppblog.com/guogangj/archive/2009/10/26/99502.html
,假设要删除节点A,则(考虑节点A的左子树,找出左子树中最大的节点并与A替换,若此时A为叶子节点,则直接删除,否则重复括号内的过程
)
。
二叉排序树:BST
平衡二叉树:AVL
版权声明:本文为zhangpinghao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。