白書練習 層次遍歷 (二叉樹的bfs)

2021-07-09 19:20:25 字數 643 閱讀 9307

//// main.cpp

// 層次遍歷

//// created by 張嘉韜 on 16/2/1.

//#include #include #include using namespace std;

int counter,pcounter,b[1000];

struct node //建立節點結構

;node *a[1000];

node *creat (int deep)//建立二叉樹,由於二叉樹是遞迴定義的,所以我們也使用遞迴結構來建立二叉樹

else

return p;

}void bfs(node* p)

if(a[head]->right->flag==1)

}head++;

}}int main()

for(int i=len;i>=1;i--)//將字串數字轉化為整形數字

p++;

if(s[p]==')') temp->value=sum;

while(s[p]!=')')//尋找節點

if(temp->flag==0)

else

{cout<<"-1"《總結:

二叉樹的層次遍歷 (BFS實現)

給定乙個二叉樹,返回其節點值自底向上的層次遍歷。即按從葉子節點所在層到根節點所在的層,逐層從左向右遍歷 例如 給定二叉樹 3,9,20,null,null,15,7 返回其自底向上的層次遍歷為 1 結果使用linkedlist是為了頭插時效率高一點 2 遍歷使用queue是使用佇列fifo的特點 3...

白書練習 二叉樹的重構

二叉樹的重構,給定乙個二叉樹的先序遍歷和中序便利,輸出後序遍歷結果,首先明確問題,我們需要建構乙個二叉樹,然而二叉樹的乙個很重要的特點就是二叉樹是遞迴定義的,所以我們往往遞迴的解決,那麼問題就是給一段先序遍歷和中序遍歷後,確定出二叉樹的三個重要元素即根節點和左子樹和右子樹,根據先序便利的特徵我們知道...

層次遍歷二叉樹

問題 假定根節點位於第0層 1.層次遍歷二叉樹 每層換行分開 2.層次遍歷二叉樹指定的某層 本文 例如 上圖中1.123 4567 82.第三層 78可以看出得出第二問的解,第一問迎刃而解了,所以從問題二下手 1.層次遍歷二叉樹指定的某層 可以得出這樣的乙個結論 遍歷二叉樹的第k層,相當於遍歷二叉樹...