【发布时间】: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