我想说的是,这是一个家庭作业,但不是在寻求与代码相关的帮助。在
我有个奇怪的问题。我试图实现一个btree删除,但有一些递归返回问题
def delete ( tree , node , value ) :
if node.leaf == True:
# delete value from node
return tree
elif node.leaf == False and value in node:
# do other stuff
else :
delete(tree,node.Child,value)
#recurse till you find leaf node
这只是一个伪代码,因为我不能在这里发布我的全部代码。接下来的问题是
当我写delete(Tree,Tree.root,value)
时,它第一次运行递归并执行叶节点部分,但返回一个None值。在
我已经检查了所有的东西,甚至打印了return tree
语句上面的内容,树在那里有一些值就可以了。在
有谁能告诉我,我在这个递归函数中做错了什么。。。。在
非常感谢。。在
一个快速的猜测,修正到:
我想您应该递归到节点的所有子节点中,而不仅仅是一个子节点(可能不止一个,对吧?)。在
相关问题 更多 >
编程相关推荐