[英]Recursive Removal in Binary Search tree
我正在研究二叉搜索树,但在递归删除方法中遇到了一些困难。 除非我尝试从最上层根目录删除,否则一切似乎都正常。 当我想从根中删除时,我将其替换为根右侧的最小值。 它适用于所有其他子根目录,但是当我尝试删除第一个根目录时,它将不会替换该值。 但是它将删除该值,假定将其替换。 我真的很感谢一些建议。
def remove_element(self, t):
if self.__root == None:
raise ValueError
else:
self.__remove_element(t, self.__root)
return self.__root
您的remove_element
永远不会分配给self.__root
(并且任何东西都不会分配给任何“ value”属性),因此,根永远不会改变。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.