任何人都可以建议一种算法从根开始逐级遍历二叉树吗?
问问题
871 次
2 回答
5
这是通过广度优先搜索你的树来完成的:
- 创建树节点队列
- 将树根入队
- 当队列不为空时,重复以下操作:
- 出列节点,并打印其内容
- 将当前节点的左子节点入队
- 将当前节点的右子节点入队
当您遵循此算法时,将在打印 levelK
中的第一个节点之前打印level 中的所有节点K+1
,因此将逐级打印树。
于 2013-04-23T23:27:09.220 回答
1
您可以使用队列执行这种遍历。从根节点将其子节点推送到队列的末尾,然后当队列不为空时,从队列顶部弹出一个项目并将其子节点添加到队列的末尾。在适当的地方处理每个节点。
这本质上是广度优先遍历。
于 2013-04-23T23:27:22.017 回答