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)
...
在node
n9
上,我们看到了我们的第一个早期
返回
-

preorder
打印(n1)
预订单(n2)
打印(n2)
预订单(n4)
打印(n4)
预订单(n9)
没有一个
预订单(n10)
...
预订单(n5)
...
预订单(n3)
...
节点
n10
也在此点结束-

preorder
打印(n1)
预订单(n2)
打印(n2)
预订单(n4)
打印(n4)
预订单(n9)
没有一个
预订单(n10)
没有一个
预订单(n5)
...
预订单(n3)
...
我们继续使用node
n5
,它也在这里结束-

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)
没有一个