從上到下列印二叉樹 層序遍歷二叉樹

2021-09-06 12:34:21 字數 591 閱讀 9353

題目:從上往下列印出二叉樹的每個結點,同一層的結點按照從左到右的順序列印。

例如輸入

8/  \

6    10

/\     /\

5  7   9  11

輸出8   6   10   5   7   9   11。

二叉樹結點的定義如下:

struct

binarytreenode

;

從上到下列印二叉樹的規律:每一次列印乙個結點的時候,如果該結點有子結點,則把該結點的子結點放到乙個佇列的末尾。接下來到佇列的頭部取出最早進入佇列的結點,重複前面的列印操作,直至佇列中所有的結點都被列印出來為止。

既然我們已經確定資料容器是乙個佇列了,現在的問題就是如何實現佇列。實際上我們無需自己動手實現,因為stl已經為我們實現了乙個很好的deque(兩端都可以進出的佇列)。下面是用deque實現的參考**:

void printfromtoptobottom(binarytreenode *ptreeroot)

}

32 從上到下列印二叉樹(層序遍歷)

題目一 不分行從上到下列印二叉樹 題目二 分行從上到下列印二叉樹 每一層列印到一行 題目三 之字形列印二叉樹 第一行從左到右,第二行從右到左,二叉樹的層序遍歷本質上就是廣度優先搜尋 bfs 題目 二 三無非就是輸出格式上新增一些細節限制。廣度優先搜尋的基本套路 無論遍歷一幅有向圖還是一棵樹,都要用到...

從上到下列印二叉樹

原理是二叉樹的層次遍歷 可以用乙個佇列輔助,先將二叉樹根節點入隊,然後出隊,將該節點存入vector中,之後判斷根節點的左子樹和右子樹是否為空,若不為空,依次入隊。然後出隊,再訪問出隊的結點是否有左右子樹,以此類推。核心 vectorprintfromtoptobottom treenode roo...

從上到下列印二叉樹

例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 3,9,20,15,7 2.1 思路分析 題目要求的二叉樹從上到下列印 即按層列印 又稱為二叉樹的廣度優先搜尋 bfs bfs通常借助佇列的先入先出特性來實現。2.2 演算法流程 特例處理 當樹的根結點為空,...