總時間限制:
1000ms
記憶體限制:
65535kb
描述給定一棵二叉樹,求該二叉樹的深度
二叉樹深度定義:從根結點到葉結點依次經過的結點(含根、葉結點)形成樹的一條路徑,最長路徑的節點個數為樹的深度
輸入第一行是乙個整數n,表示二叉樹的結點個數。二叉樹結點編號從1到n,根結點為1,n <= 10
接下來有n行,依次對應二叉樹的n個節點。
每行有兩個整數,分別表示該節點的左兒子和右兒子的節點編號。如果第乙個(第二個)數為-1則表示沒有左(右)兒子
輸出輸出乙個整型數,表示樹的深度
樣例輸入
3樣例輸出2 3-1 -1
-1 -1
2這樣的樣例輸入,適合用靜態二叉樹,注意下面**中靜態二叉樹的實現
#include #include typedef char elementtype;
typedef struct tnode *position;
typedef position bintree;
struct tnode
;int getheight(bintree bt);
int main()
int n, tempr, templ;
scanf_s("%d", &n);
for (int i = 0; i < n; i++)
printf("%d\n", getheight(&t[0]));
//system("pause");
return 0;
}int getheight(bintree bt)
資料結構 求二叉樹的最大深度
給定乙個二叉樹,找出其最大深度。二叉樹的深度為根節點到最遠葉子節點的最長路徑上的節點數。說明 葉子節點是指沒有子節點的節點。示例 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回它的最大深度 3 求最大深度,用遞迴子問題處理,如果root為空,則深度為0,如果roo...
資料結構習題 求二叉樹的深度與寬度
題目來自王道資料結構一書,歸納經典題目 遞迴 結構體宣告 typedef struct bitnode bitree,bitnode int btdepth bitree t 借用一下這位大佬的圖,自己再走一遍流程。分析 首先遍歷a層,向a的左子樹遞迴進入b層,到達b層再遞迴進入其左子樹 層 發現此...
資料結構實驗之二叉樹的建立與遍歷,求二叉樹深度
time limit 1000ms memory limit 65536k 已知乙個按先序序列輸入的字串行,如abc,de,g,f,其中逗號表示空節點 請建立二叉樹並按中序和後序方式遍歷二叉樹,最後求出葉子節點個數和二叉樹深度。輸入乙個長度小於50個字元的字串。輸出共有4行 第1行輸出中序遍歷序列 ...