【问题标题】:Recursive Removal in Binary Search tree二叉搜索树中的递归删除
【发布时间】:2018-04-19 22:51:42
【问题描述】:

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

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

【问题讨论】:

  • 我推断这段代码是一个类的一部分。我们可以看看剩下的吗?

标签: python recursion binary-search-tree


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 2021-07-03
    • 2019-04-17
    相关资源
    最近更新 更多