從上到下,從左到右輸出二叉樹的結點

2021-07-02 06:10:10 字數 537 閱讀 1425

題目:

輸入一顆二叉樹,從上到下按層列印樹的每個結點,同一層中按照從左往右的順序列印。

輸出 8,6,10,5,7,9,11.

分析:題目為樹的層次遍歷.(也即圖的廣度優先遍歷)

#include

#include

using namespace std;

struct btreenode

;btreenode *plistindex;

btreenode *phead;

void printfromtoptobottom(btreenode* ptreeroot)

}//建立二元查詢樹

void addbtreenode(btreenode*& pcurrent, int value)

else

}int main()

從上到下列印二叉樹

原理是二叉樹的層次遍歷 可以用乙個佇列輔助,先將二叉樹根節點入隊,然後出隊,將該節點存入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 演算法流程 特例處理 當樹的根結點為空,...

從上到下列印二叉樹

從上到下列印出二叉樹的每個節點,同一層的節點按照從左到右的順序列印。例如 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回 3,9,20,15,7 解題思路 演算法流程 特例處理 當樹的根節點為空,則直接返回空列表 初始化 列印結果列表 res 包含根節點的佇列 q...