调整的方法如下:
调整前后满足二叉排序树的特点,并且中序遍历的顺序不能变
方法一:
(1)若被删除的节点没有左子树,则直接用右孩子代替它(右孩子可以为空)
(2)若被删除的节点有左子树,则在其左子树中找到中序遍历的最后一个节点
r,把被删除节点的右子树作为r节点的右子树,并用被删除节点的左孩子代替
被删除节点。
方法二:
(1)若被删除的节点没有右子树,则直接用左孩子代替它(左孩子可以为空)
(2)若被删除的节点有右子树,则在其右子树中找到中序遍历的第一个节点
r,把被删除节点的左子树作为r节点的左子树,并用被删除节点的右孩子代替
被删除节点。
调整前后满足二叉排序树的特点,并且中序遍历的顺序不能变
方法一:
(1)若被删除的节点没有左子树,则直接用右孩子代替它(右孩子可以为空)
(2)若被删除的节点有左子树,则在其左子树中找到中序遍历的最后一个节点
r,把被删除节点的右子树作为r节点的右子树,并用被删除节点的左孩子代替
被删除节点。
方法二:
(1)若被删除的节点没有右子树,则直接用左孩子代替它(左孩子可以为空)
(2)若被删除的节点有右子树,则在其右子树中找到中序遍历的第一个节点
r,把被删除节点的左子树作为r节点的左子树,并用被删除节点的右孩子代替
被删除节点。