我想知道逐级打印二叉树的代码,我的意思是,如果我有这棵树:
5
/ \
3 2
/ \
4 6
我想打印它:5 3 2 4 6
。
我知道我需要做树深度方法而且我已经做了,但我不知道还能做什么。
答案 0 :(得分:3)
您可以使用级别遍历算法进行打印。
该算法的工作原理如下:
queue:=< root>
队列不为空时
v := queue.front print v foreach s : s is a son of v queue.enqueue(s) queue.dequeue
答案 1 :(得分:1)
好的,我想我明白了:
1.扩展类Node并添加一个名为height(int)的属性
2.计算树的每个节点的高度(简单的递归函数 - 不需要数据结构)
3.对每个高度(级别)使用for循环并运行按顺序遍历并打印该级别的节点