题库首页 › 青少年软件编程(C语言) › 题目 15148

树的偏斜度 对于一棵二叉树,令 nL 表示仅有左孩子的结点的个数,令 nR 表示仅有右孩子的结点的个数。这棵树的“偏斜度”定义为 Ds = nL - nR。本题就请你计算任一棵给定二叉树的 Ds。 时间限制:1000 内存限制:65536 输入 输入在第一行给出正整数 n (≤ 103),为二叉树中结点个数。随后两行先后给出这棵树的后序遍历和中序遍历序列,键值为 1 到 n 的整数。同行数字间以空格分隔。 输出 在一行中按以下格式输出树的偏斜度: Ds = nL - nR 样例输入 7 1 2 7 5 4 3 6 1 2 3 4 7 5 6 样例输出 2 = 3 - 1

正确答案:参考程序(Python):n=int(input());post=list(map(int,input().split()));ino=list(map(int,input().split()));import sys;sys.setrecursionlimit(10000);def build(pl,pr,il,ir):if pl>pr:return (None,0,None);root=post[pr];pos=ino.index(root);left=build(pl,pl+(pos-il)-1,i

试卷来源:202503 青少年等级考试C/C++真题七级

本卷相关题目

在线做题 同科目题库