2

任何人都可以建议一种算法从根开始逐级遍历二叉树吗?

4

2 回答 2

5

这是通过广度优先搜索你的树来完成的:

  • 创建树节点队列
  • 将树根入队
  • 当队列不为空时,重复以下操作:
  • 出列节点,并打印其内容
  • 将当前节点的左子节点入队
  • 将当前节点的右子节点入队

当您遵循此算法时,将在打印 levelK中的第一个节点之前打印level 中的所有节点K+1,因此将逐级打印树。

于 2013-04-23T23:27:09.220 回答
1

您可以使用队列执行这种遍历。从根节点将其子节点推送到队列的末尾,然后当队列不为空时,从队列顶部弹出一个项目并将其子节点添加到队列的末尾。在适当的地方处理每个节点。

这本质上是广度优先遍历

于 2013-04-23T23:27:22.017 回答