2013-04-23 75 views

回答

5

這是由breadth-first搜索做好了你的樹:

  • 創建樹節點
  • 排隊樹根的隊列
  • 雖然隊列不爲空,重複如下:
  • 出隊節點並打印其內容
  • 排隊當前節點的左側子節點
  • 排隊右側當前節點

當您按照這種算法的子節點,從K級的所有節點將被打印之前從K+1水平第一節點打印,所以該樹將被打印水平逐級。

+0

只是想我會補充一點,這顯然推廣到k-ary有序以及一般和因此無序的樹。 – 2013-04-24 00:27:56

1

您可以使用隊列執行這種遍歷。從根節點將它的子節點推到隊列的末尾,然後當隊列不空時,從隊列的頂部彈出一個項目並將其子節點添加到隊列的末尾。適當時處理每個節點。

這實質上是一個Breadth First Traversal