二叉搜索树中的递归删除

时间:2018-04-07 15:01:49

标签: python recursion binary-search-tree

我正在使用二叉搜索树,我的递归删除方法有点困难。除非我尝试从最顶层删除,否则一切似乎都有效。当我想从根目录中删除时,我将用根目录右边的最小值替换它。它适用于所有其他子根,但是当我尝试删除第一个根时,它不会替换该值。但它会删除该值,假设用于替换它。我真的很感激一些建议。

def remove_element(self, t):
    if self.__root == None:
       raise ValueError
    else:
       self.__remove_element(t, self.__root)
    return self.__root

1 个答案:

答案 0 :(得分:0)

您的remove_element永远不会分配给self.__root(并且没有任何分配给任何“值”属性),所以当然根本不会改变。