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