繁体   English   中英

二进制搜索树中的递归删除

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM