【发布时间】:2013-10-18 05:46:31
【问题描述】:
我想知道如何只打印特定级别的二叉树。我在这里阅读了很多关于 BFS 的问题,但没有发现任何关于 printin 的问题。
我应该如何将常见的 BFS 搜索更改为仅打印此树的第 2 级:
6
/ \
4 8
/ \ / \
1 5 7 9
第 2 级将是 1、5、7、9。谢谢!
【问题讨论】:
-
追踪你目前的等级;并在达到 2 时终止。
-
这很明显,但我找不到使用常规 BFS 的方法。它使用节点处理队列,但不区分级别。它只是按 BFS 顺序排列和处理它们。我得到的只是一些奇怪的解决方案,检查每个级别应该有的节点数量,但是当我想到一个非完整的树时它会崩溃
-
一种方法是将 {level,node} 而不仅仅是 {node} 的元组加入队列。