问:如何逐级显示树节点?你能给我一个节省时间和空间的解决方案吗。
例子:

    A
   / \
  B   C
 / \  / \
D   E F  G

void PrintTree(struct tree *root);

输出:
必须逐级打印树节点
  A
  B C
  D E F G

最佳答案

如果你觉得自己很野蛮,想简单地考虑一下自己的水平。。。
你需要:
两个队列
杰克走近时有点扭动
所以,从根开始。
把孩子们排在第一队。
穿过他们,把他们的孩子带到第二个队列上。
切换到第二个队列,单步执行,将他们的孩子推到第一个队列上。
加油,加油。
实际上,它只是同一个概念的一个小小扩展,即广度优先搜索或扫描,这是一个值得考虑的模式,因为它适用于各种数据结构事实上,几乎所有的树或树,还有一些不是树或树的东西!

07-24 19:12