資料結構二叉樹的建立與求深度

2021-09-02 11:40:05 字數 867 閱讀 4182

總時間限制: 

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行輸出中序遍歷序列 ...