二叉樹札記4 層序遍歷

2021-09-11 01:15:27 字數 1126 閱讀 7883

題目為層序遍歷

problem description

已知乙個按先序輸入的字串行,如abd,eg,cf,(其中,表示空結點)。請建立二叉樹並求二叉樹的層次遍歷序列。

input

輸入資料有多行,第一行是乙個整數t (t<1000),代表有t行測試資料。每行是乙個長度小於50個字元的字串。

output

輸出二叉樹的層次遍歷序列。

sample input

2

abd,,eg,,,cf,,,

xnl,,i,,u,,

sample output

abcdefg

xnuli

這道題應該分為四部分

(1)構建結構體

(2)結構體函式(構建二叉樹)

(3)構建層序遍歷函式!(難點)

(4)主函式!

注意:這道題中運用到了棧和佇列的知識!

(1)構建結構體

struct lqc

;

(2)

構建二叉樹(此處的函式書寫方式與之前的書寫方式不一樣,要看清楚!!!

struct lqc *create() 定義函式!

else

(3)構建層序遍歷函式!運用到了棧和佇列!!

void cengxu(struct lqc *root)

out++;

}}

(4)

主函式

int main

return 0;

}

完整**如下

#include #include #include char s[51];

int i;

struct lqc

;struct lqc *create()

else

return root;

}void cengxu(struct lqc *root)

out++;

}}int main()

return 0;

}

部分**為參考其他博主的!!

二叉樹層序遍歷 求二叉樹的層序遍歷

給定乙個二叉樹,返回該二叉樹層序遍歷的結果,從左到右,一層一層地遍歷 例如 給定的二叉樹是,該二叉樹層序遍歷的結果是 3 9,20 15,7 示例1 輸入 返回值 1 2 示例2輸入 返回值 1 2,3 4,5 解題思路 重點是如何把在一層的節點放到一起,設定乙個引數專門放一層的節點 class t...

層序遍歷二叉樹

要求 設計乙個演算法層序遍歷二叉樹 同一層從左到右訪問 我寫了乙個演算法 用乙個佇列儲存被訪問的當前節點的左右孩子以實現層序遍歷。status hierarchybitree bitree t,status visit telemtype e destroyqueue q 釋放佇列空間 return...

二叉樹層序遍歷

主要流程 確定root非空 根指標進佇列 佇列非空就一直迴圈 依次掃瞄目前佇列中所有元素 新增的不算 從佇列取出第一元素 將值放入結果vector中 判斷左右子節點非空,並依次入隊 將本次結果放入二維陣列中 如果需要按層逆序輸出的話,在這裡將二維結果倒排一下 返回二維結果 vector levelo...