二叉树问题

chinayaolin 2003-09-21 11:12:07
node *print(node *t)
{ if(t!=NUUL)
{ printf("%d",t->data);
print(t->left);
print(t->right);
}
}
请问一下,上面的那段代码中,什么时候才能输出右结点,什么才能结束。
...全文
30 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyff8neo 2003-09-23
  • 打赏
  • 举报
回复
后续遍历的非递归的二叉树难理解阿!
「已注销」 2003-09-22
  • 打赏
  • 举报
回复
呵呵,好理解不好理解应人而异,但我还是奉功一句,千万别把自己的脑袋当计算机,去人工模拟什么递归过程,只要知道大致的执行情况就行了,不然,越模拟越晕!
justju 2003-09-22
  • 打赏
  • 举报
回复
同意。
lyff8neo 2003-09-21
  • 打赏
  • 举报
回复
同一上面的
stephen85 2003-09-21
  • 打赏
  • 举报
回复
上述算法为二叉树的先根遍历,当一个根结点其自身及左子树被遍历完后,输出其右结点,当该二叉树的每个结点都被遍历一遍后程序结束.
短歌如风 2003-09-21
  • 打赏
  • 举报
回复
先序遍历:
访问根结点(本题是输出);
先序遍历左子树;
先序遍历右子树。

当左子树遍历完成后输出左子结点(即访问右子树的根结点)。

递归算法已经是很好理解了,先序遍历的非递归形式才不好理解呢。
nicememory 2003-09-21
  • 打赏
  • 举报
回复
递归有点不好理解,画个图仔细想一想
levinjoe 2003-09-21
  • 打赏
  • 举报
回复
自己举个简单的3层满二叉树,输出一下就明白先序遍历如何输出了!

33,028

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧