记T为一棵二叉树,树中共有n个节点。
定义根节点的深度为0,其余节点的深度为其父节点的深度加1。T的高度定义为其叶节点深度的最大值。
定义树中任意两点a和b之间的距离为其间最短简单路径的长度。T的直径定义为T中所有点对间距离的最大值。
输入一棵二叉树T,请计算它的高度和直径。
记T为一棵二叉树,树中共有n个节点。
定义根节点的深度为0,其余节点的深度为其父节点的深度加1。T的高度定义为其叶节点深度的最大值。
定义树中任意两点a和b之间的距离为其间最短简单路径的长度。T的直径定义为T中所有点对间距离的最大值。
输入一棵二叉树T,请计算它的高度和直径。
输入共三行。
第一行输入n的值,表示树中结点的总个数。
第二行为树的前序遍历表示,每个节点之间用空格隔开。
第三行为树的中序遍历表示,每个节点之间也用空格隔开。
输出共三行。
第一行需要大家输出一行字符串,它是“我已阅读关于抄袭的说明”的英文翻译,即:"I have read the rules about plagiarism punishment"。输出此行的提交我们将认为已经完全阅读并了解了“关于抄袭的说明”公告并同意关于抄袭的惩罚措施。
第二行输出树的高度。
第三行输出树的直径。
样例输入10
0 1 9 3 8 4 2 7 5 6
3 9 8 1 2 4 0 5 7 6 | 样例输出I have read the rules about plagiarism punishment
3
5 |
分治算法可以在O(n)的时间内完成相应的计算。