題目:
從上往下列印出二叉樹的每個結點,同一層的結點按照從左往右的順序列印。
邊界條件:
root為空
思路:這其實是廣度優先演算法,要用到佇列。
首先將root結點入佇列。
當佇列不為空時,下面一直迴圈。
取佇列front的乙個結點,輸出其value,出佇列。
將上一步取出的結點左結點入佇列,然後右結點入佇列。
重複上述過程。
#include #include #include #include #include #include using namespace std;
struct binarytreenode;
void printtreebybfs(binarytreenode *root)
}int main()
面試題23 從上往下列印二叉樹
不管是廣度優先遍歷乙個有向圖還是一棵樹,都要用到佇列,第一步把起始結點 對樹而言是根結點 放入到佇列中,接下來每一次從佇列頭部提取出乙個結點,遍歷這個結點之後把從它能到達的結點 對樹而言是子結點 都依次放入到佇列,我們重複這個遍歷過程,直到佇列中的結點全部被遍歷為止 從上往下列印出二叉樹的每個結點,...
面試題23 從上往下列印二叉樹
題目 從上往下列印二叉樹的每個節點,同一行的節點按照從左到右列印。示例 標頭檔案 binarytree.h pragma once includestruct binarytreenode binarytreenode createbinarytreenode int value void conn...
面試題32 從上往下列印二叉樹
題目 從上往下列印出二叉樹的每個結點,同一層的結點按照從左到右的順序列印。include include include include include include using namespace std struct binarytreenode void printfromtoptobott...