100題 第十六題(層序列印樹的節點)

2021-08-26 17:17:43 字數 773 閱讀 9496

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

例如輸入

8

/ \6 10

/ \ / \

5 7 9 11

輸出:8 6 10 5 79 11。

二,分析:

本題主要考察樹的層序遍歷,最常用的方法就是採用佇列的形式。

按照,根左右的形式依次將元素彈入佇列中。然後取出佇列頭部,再將頭部的左右子樹彈入佇列中。這樣就可以層序遍歷整個二叉樹。有些類似樹的廣度優先查詢。

三,原始碼:

#include "stdio.h"

#include "malloc.h"

#include "stack.h"

struct node

;node *root;

void insert(node *&root,int data)

else

}node *creattree(int a,int n)

}int main()

; root=creattree(a,7);

leveltree(root);//採用迴圈的方式

return 0;

}

微軟等資料結構與演算法面試100題 第十六題

第十六題 題目 輸入一顆二元樹,從上往下按層列印樹的每個結點,同一層中按照從左往右的順序列印。分析 這道題主要考察的是二叉樹的廣度優先周遊,比較簡單。就是使用佇列 queue 作為輔助實現。include includeusing namespace std struct node void lev...

第十六題 UVA548 樹 Tree

題意翻譯 輸入乙個二叉樹的中序和後序遍歷,請你輸出乙個葉子節點,該葉子節點到根的數值總和最小,且這個葉子是編號最小的那個。輸入 您的程式將從輸入檔案中讀取兩行 直到檔案結尾 第一行是樹的中序遍歷值序列,第二行是樹的後序遍歷值序列。所有值將不同,大於零且小於或等於10000.二叉樹的節1 n 1000...

20210127 第十六題 正規表示式

考慮s空,p不空和s不空,p空的情況 若s空,p不空。p長度為奇數,一定返回false p長度為偶數,若在奇數字上,返回true 否則返回false。若s不空,p空,一定返回false。s,p都不空。定義as s 0 ap p 0 apnext為ap的下一位。apnext只有兩種可能,是 或者不是。...