有人可以解释inorder树traveal的逻辑吗?

时间:2015-06-25 10:41:33

标签: data-structures inorder

我得到了以下代码的输出,但我没有得到确切的逻辑。 第3行(递归fn调用)将在到达叶节点时传递值Null,然后如何打印数据部分

void Inorder(struct node *node)
{
  if(node!=NULL)
  {
     Inorder(node->left);
     printf("%d",node->data);
     Inorder(node->right);
  }
}

1 个答案:

答案 0 :(得分:2)

基本上在每次递归调用时,如果节点不为null,则继续。 因此,叶节点的调用node->left将不会继续进行,并且随着递归函数的展开,节点将在下一行中打印出来。

干运行示例并自行验证。