问题链接
问题内容
对于给定的二叉树,输出各结点u的信息,信心包括u的结点编号,u的深度,u的父结点,u的高,u的兄弟结点,结点的种类(根、内部结点、叶)、u的子结点数。
思路
由于这是二叉树,实际上简化了有根树的数据结构的实现
(1)结点编码由题目可知,父结点通过Tree[u].parent可知
(2)深度和高,通过递归遍历求得,其中高是求左右结点的高的最大值
(3)u的兄弟结点、子结点数分别判断父结点的子结点情况和自身的子结点情况
(4)结点的种类用上一节的性质可知
代码
#include<iostream>
#include<cstdio>
#include<algorithm>