二叉排序树既有左子树又有右子树的删除的三种方法
-
删除叶子节点:如果要删除的节点是叶子节点,直接删除即可。
-
删除只有一个子节点的节点:如果要删除的节点只有一个子节点,将该节点的子节点替换到该节点的位置即可。
-
删除有两个子节点的节点:如果要删除的节点有两个子节点,可以采用以下方法:
-
找到该节点的右子树中的最小值节点,将该节点的值替换到要删除的节点中。
-
删除右子树中的最小值节点。
或者:
-
找到该节点的左子树中的最大值节点,将该节点的值替换到要删除的节点中。
-
删除左子树中的最大值节点。
原文地址: https://www.cveoy.top/t/topic/fr9G 著作权归作者所有。请勿转载和采集!