【发布时间】:2016-03-18 12:30:33
【问题描述】:
如何删除二叉树中最小的元素?当他们要求您删除某个元素时,我知道如何删除,但我真的被这个元素难住了。这是删除树中特定值的代码。
def delete(tree):
if tree == None:
return None
else:
if tree['left']['left'] == None:
tree['left'] = None
#this is where I get stuck
【问题讨论】:
-
你试过什么?你在哪部分有问题?你能找到最小的元素吗?你知道如何遍历二叉树的所有元素吗?
-
@timgeb 我尝试遍历左侧,但我在实际删除节点时遇到了麻烦,因为有一个值,我实际上可以说'嘿,沿着树向下,找到这个元素并删除它'我尝试让它遍历树的左侧并找到叶子并删除它,但它没有工作
-
首先,代码在语法上不正确。其次,当前面的条件为假时,围绕你的第一个 else 的 cmets 是关于树结构的不正确理由。
-
@Qman485 听起来您在评论中所说的方法朝着正确的方向发展。你能为此提供你的代码吗?在什么情况下它不起作用?
-
@kjschiroo 我已经更新了代码,我只是无法理解整个过程,想知道如何一直到最后一片叶子
标签: python algorithm tree binary-tree min