2013-04-23 70 views

回答

5

这是由breadth-first搜索做好了你的树:

  • 创建树节点
  • 排队树根的队列
  • 虽然队列不为空,重复如下:
  • 出队节点并打印其内容
  • 排队当前节点的左侧子节点
  • 排队右侧当前节点

当您按照这种算法的子节点,从K级的所有节点将被打印之前从K+1水平第一节点打印,所以该树将被打印水平逐级。

+0

只是想我会补充一点,这显然推广到k-ary有序以及一般和因此无序的树。 – 2013-04-24 00:27:56

1

您可以使用队列执行这种遍历。从根节点将它的子节点推到队列的末尾,然后当队列不空时,从队列的顶部弹出一个项目并将其子节点添加到队列的末尾。适当时处理每个节点。

这实质上是一个Breadth First Traversal