2018.3.26 1501 二叉树最大宽度和高度
生活随笔
收集整理的這篇文章主要介紹了
2018.3.26 1501 二叉树最大宽度和高度
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述 給出一個二叉樹,輸出它的最大寬度和高度。 輸入描述 第一行一個整數n。下面n行每行有兩個數,對于第i行的兩個數,代表編號為i的節點所連接的兩個左右兒子的編號。如果沒有某個兒子為空,則為0。 輸出描述 輸出共一行,輸出二叉樹的最大寬度和高度,用一個空格隔開。 #include<stdio.h> int a[30], b[30]; //編譯器行為開辟a[0] = 0 int main() { ????int n, l, r, k, x,kk, wide = 0, deep = 0; ????scanf("%d", &n); ????for (int i = 1; i <= n; i++) { ????????scanf("%d%d", &l, &r); ????????a[l] = i; a[r] = i;??//更新父節點 ????} ????for (int i = 1; i <= n; i++) { ????????k = 1; ????????x = a[i]; ????????while (x != 0) { ????????????k++; //深度 ????????????x = a[x]; ????????} ????????b[k]++; //寬度 ????????if (k>deep) deep = k; ????????if (b[k]>wide) wide = b[k]; ????} ????printf("%d %d\n", wide, deep); ????scanf("%d", &kk); ????return 0; }
轉載于:https://www.cnblogs.com/elliottc/p/8648960.html
總結
以上是生活随笔為你收集整理的2018.3.26 1501 二叉树最大宽度和高度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python_summary
- 下一篇: JAVA基础知识要点