在java中按级别打印二叉树

时间:2012-07-02 02:47:27

标签: java printing binary-tree levels

我想知道逐级打印二叉树的代码,我的意思是,如果我有这棵树:

    5
   / \
  3   2
 /     \
4       6

我想打印它:5 3 2 4 6

我知道我需要做树深度方法而且我已经做了,但我不知道还能做什么。

2 个答案:

答案 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循环并运行按顺序遍历并打印该级别的节点