二叉树的最大宽度和高度
来源:互联网 发布:国家网络应急中心招聘 编辑:程序博客网 时间:2024/05/21 15:43
题目描述 Description给出一个二叉树,输出它的最大宽度和高度。
输入描述 Input Description第一行一个整数n。
下面n行每行有两个数,对于第i行的两个数,代表编号为i的节点所连接的两个左右儿子的编号。如果没有某个儿子为空,则为0。
输出描述 Output Description输出共一行,输出二叉树的最大宽度和高度,用一个空格隔开。
样例输入 Sample Input5
2 3
4 5
0 0
0 0
0 0
样例输出 Sample Output2 3
数据范围及提示 Data Size & Hintn<16
默认第一个是根节点
以输入的次序为编号
2-N+1行指的是这个节点的左孩子和右孩子
注意:第二题有极端数据!
1
0 0
//树的DFS
#include<iostream>using namespace std;int ch[17][2];int width[1000];//用来记录每一层的宽度int x=0,deep=0,height=0;//deep用来记录当前高度,height用来记录最大高度void dfs(int i,int deep)//i为当前节点编号,deep为当前节点深度 { if(deep>height) height=deep; width[deep]++; if(ch[i][0])//ch[i][0]为当前节点左子树 i dfs(ch[i][0],deep+1);// / \ if(ch[i][1])//ch[i][1]为当前节点右子树 ch[i][0] ch[i][1] dfs(ch[i][1],deep+1);}int main(){ int n; cin>>n; for(int i=1;i<=n;i++) cin>>ch[i][0]>>ch[i][1]; dfs(1,1); for(int i=1;i<=1000;i++)//找出最大宽度 { if(width[i]>x) x=width[i]; } cout<<x<<" "<<height;}
0 0
- 二叉树的最大宽度和高度
- 树 二叉树最大宽度和高度
- 二叉树最大宽度和高度
- wikioi1501 二叉树最大宽度和高度
- wikioi1501 二叉树最大宽度和高度
- wikioi 二叉树最大高度和宽度
- 二叉树最大宽度和高度
- p1501 二叉树最大宽度和高度
- wikioi1501 二叉树最大宽度和高度
- 二叉树最大宽度和高度
- 1501 二叉树最大宽度和高度
- codevs1501 二叉树最大宽度和高度
- 二叉树的最大宽度和高度 1501
- CODE[VS]_1501 二叉树的最大宽度和高度
- 算法-完全二叉树的最大宽度和高度
- codeVS 1501 二叉树的最大宽度和高度
- Codevs 1501 二叉树的最大宽度和高度
- wikioi p1501 二叉树最大宽度和高度
- 【JVM基础】参数&工具
- Unity 3D 矩阵和四元数的研究
- 登录工程:现代 Web 应用的典型身份验证需求
- 新媒体文章标题怎么写?
- jenkins安装简要说明
- 二叉树的最大宽度和高度
- Hash碰撞
- 【BZOJ 1008】[HNOI2008]越狱
- 树形DP——POJ3513
- 删除当前用户IE临时文件win7版批处理
- Servlet初始化、运行、销毁全部过程
- 浅入浅出 Android 安全(五)Android 应用层安全
- java模拟栈的实现1
- 编程练习——字符串截取