【发布时间】:2016-02-22 11:24:22
【问题描述】:
我在理解前序、中序和后序树遍历中涉及的递归函数时遇到了一些麻烦。我对递归有一些了解(但不可否认,这不是我的强项)。所有这些似乎都调用了自己两次,首先是用根的左孩子打电话,然后是用右孩子打电话。但这到底是怎么可能的呢?用左子调用 preOrder 函数不会将控制流返回到顶部,并且永远不会执行下一个调用吗?
void preOrder (Node* root)
{
if (root == NULL) return;
cout<<root->val<<", ";
preOrder(root->left);
preOrder(root->right);
}
【问题讨论】:
标签: recursion binary-tree binary-search-tree preorder