Python 有人能画出这段代码的所有递归调用吗。它';树的前序遍历。由于这两个递归调用,我感到困惑
这个问题的递归调用是什么Python 有人能画出这段代码的所有递归调用吗。它';树的前序遍历。由于这两个递归调用,我感到困惑,python,recursion,tree,Python,Recursion,Tree,这个问题的递归调用是什么 def preOrder(rootNode): if not rootNode: return print(rootNode.data) preOrder(rootNode.leftChild) preOrder(rootNode.rightChild) 从第一次调用开始,编写函数效果的..- 预订单(n1) ... 现在填写…。我使用缩进来显示堆栈深度- preorder 打印(n1) 预订单(n2) ... 预订
def preOrder(rootNode):
if not rootNode:
return
print(rootNode.data)
preOrder(rootNode.leftChild)
preOrder(rootNode.rightChild)
从第一次调用开始,编写函数效果的
..
-
预订单(n1)
...
现在填写…
。我使用缩进来显示堆栈深度-
preorder
打印(n1)
预订单(n2)
...
预订单(n3)
...
继续填写最上面的…
,因为这是程序的执行顺序-
preorder
打印(n1)
预订单(n2)
打印(n2)
预订单(n4)
...
预订单(n5)
...
预订单(n3)
...
继续这样做,直到不再有…
-
preorder
打印(n1)
预订单(n2)
打印(n2)
预订单(n4)
打印(n4)
预订单(n9)
...
预订单(n10)
...
预订单(n5)
...
预订单(n3)
...
在noden9
上,我们看到了我们的第一个早期返回
-
preorder
打印(n1)
预订单(n2)
打印(n2)
预订单(n4)
打印(n4)
预订单(n9)
没有一个
预订单(n10)
...
预订单(n5)
...
预订单(n3)
...
节点n10
也在此点结束-
preorder
打印(n1)
预订单(n2)
打印(n2)
预订单(n4)
打印(n4)
预订单(n9)
没有一个
预订单(n10)
没有一个
预订单(n5)
...
预订单(n3)
...
我们继续使用noden5
,它也在这里结束-
preorder
打印(n1)
预订单(n2)
打印(n2)
预订单(n4)
打印(n4)
预订单(n9)
没有一个
预订单(n10)
没有一个
预订单(n5)
没有一个
预订单(n3)
...
最后我们来看看n3
-
preorder
打印(n1)
预订单(n2)
打印(n2)
预订单(n4)
打印(n4)
预订单(n9)
没有一个
预订单(n10)
没有一个
预订单(n5)
没有一个
预订单(n3)
打印(n3)
预订单(n6)
...
预订单(n7)
...
快进到底-
preorder
打印(n1)
预订单(n2)
打印(n2)
预订单(n4)
打印(n4)
预订单(n9)
没有一个
预订单(n10)
没有一个
预订单(n5)
没有一个
预订单(n3)
打印(n3)
预订单(n6)
没有一个
预订单(n7)
没有一个