问:如何逐级显示树节点?你能给我一个节省时间和空间的解决方案吗。
例子:
A
/ \
B C
/ \ / \
D E F G
void PrintTree(struct tree *root);
输出:
必须逐级打印树节点
A
B C
D E F G
最佳答案
如果你觉得自己很野蛮,想简单地考虑一下自己的水平。。。
你需要:
两个队列
杰克走近时有点扭动
所以,从根开始。
把孩子们排在第一队。
穿过他们,把他们的孩子带到第二个队列上。
切换到第二个队列,单步执行,将他们的孩子推到第一个队列上。
加油,加油。
实际上,它只是同一个概念的一个小小扩展,即广度优先搜索或扫描,这是一个值得考虑的模式,因为它适用于各种数据结构事实上,几乎所有的树或树,还有一些不是树或树的东西!