![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
建树
丿繁年
一起来交流
展开
-
二叉树和等于某值路径 (10 分)
二叉树和等于某值路径 (10 分)已知二叉树结点为不等于0的整数。给定一个整数K,请编写程序找出以根结点为起点叶结点为终点的所有路径中,结点值之和等于K的所有路径。例如K=15,对于下图所示的二叉树t,满足条件的路径有2条,即8-5-2和8-7。若没有满足条件的路径,则亦能识别。输入格式:输入为2行,第一行为一组用空格间隔的整数,个数不超过100个,表示带空指针信息的二叉树先根序列,其中空指针信息用0表示。第2行为整数K。输出格式:输出第一行为一个整数,表示满足条件的路径条数;若没有满足条件的路径原创 2022-04-22 19:59:07 · 1298 阅读 · 0 评论 -
7-16 二叉树第k层最后一个结点 (10 分)
7-16 二叉树第k层最后一个结点 (10 分)给定一棵非空二叉树,其结点的数据域为不等于0的整数,请编写程序输出该二叉树中第k层最后一个结点的值,若不存在则输出0。输入格式:输入第1行为一组用空格间隔的整数,个数不超过100个,表示带空指针信息的二叉树先根序列。其中空指针信息用0表示。第2行为一个整数k。输出格式:输出为一个整数,表示该二叉树中第k层最后一个结点的值,若不存在则输出0。输入样例1:1 2 0 0 3 0 01输出样例1:3输入样例2:1 -2 0 0 3 -1 0原创 2022-04-22 19:50:59 · 1090 阅读 · 0 评论 -
7-14 二叉树叶结点值和最大层 (10 分)
7-14 二叉树叶结点值和最大层 (10 分)已知一棵非空二叉树结点的数据域为不等于0的整数,请编写程序找出该二叉树中叶结点数据值之和最大的层。输入格式:输入为一组用空格间隔的整数,个数不超过100个,表示带空指针信息的二叉树先根序列。输出格式:输出为一个整数,表示叶结点数据值之和最大的层,如果存在多个满足条件的层,则输出最下面一层。输入样例1:1 2 0 0 3 0 0输出样例11输入样例2:1 -2 0 0 3 -1 0 0 -1 0 0输出样例2:2#include<原创 2022-04-22 19:42:33 · 566 阅读 · 0 评论 -
**7-13 二叉树路径和 (10 分)**
7-13 二叉树路径和 (10 分)编写程序找出二叉树中和最大的路径,二叉树结点为不等于0的整数。本题的“路径”限定为以根结点为起点,以叶结点为终点的路径。路径的和,即该路径所包含的所有结点的数据值之和。输入格式:输入为一组用空格间隔的整数,个数不超过100个,表示带空指针信息的二叉树先根序列。输出格式:输出为两行,第一行为该二叉树路径和的最大值,第二行为一组整数,每个整数后一个空格,即该最大路径包含的结点值(按从根的叶的顺序),如果存在多条满足条件路径,则输出最左边一条。输入样例1:1 2原创 2022-04-22 18:55:54 · 1213 阅读 · 0 评论 -
7-11 重建二叉树 (10 分)(判读给出的数据是否合法)
7-11 重建二叉树 (10 分)给定非空二叉树的中根序列和后根序列,请编写程序创建该二叉树,计算其高度和先根序列,最后删除该二叉树;如给定的中根和后根序列不合法,则亦能识别。输入格式:输入包含多组数据(不超过10组),每组为两行字符串,第一行表示某二叉树的后根序列,第二行表示其中根序列。结点的值均为A-Z的大写字母,故二叉树结点个数不超过26,且保证输入的两个序列都是结点的全排列,但不一定是合法的中根和后根序列。输入保证不是空二叉树。输出格式:对于每组数据,如果输入的序列不合法(不是同一棵树的中原创 2022-04-21 22:37:33 · 1667 阅读 · 0 评论 -
7-7 二叉树删除子树 (5 分)
7-7 二叉树删除子树 (5 分)编写程序对给定二叉树执行若干次删除子树操作,输出每次删除子树后剩余二叉树的中根序列。二叉树结点的数据域值为不等于0的整数。每次删除操作是在上一次删除操作后剩下的二叉树上执行。输入格式:输入第1行为一组用空格间隔的整数,表示带空指针信息的二叉树先根序列,其中空指针信息用0表示。例如1 5 8 0 0 0 6 0 0表示如下图的二叉树。第2行为整数m,表示要进行的删除操作次数。接下来m行,每行一个不等于0的整数K,表示要删除以K为根的子树。m不超过100,二叉树结点个数不原创 2022-04-21 22:03:52 · 664 阅读 · 0 评论 -
7-6 二叉树查找结点及父结点 (5 分)
7-6 二叉树查找结点及父结点 (5 分)编写程序在二叉树中查找给定结点及父结点。二叉树结点的数据域值不等于0的整数。输入格式:输入第1行为一组用空格间隔的整数,表示带空指针信息的二叉树先根序列,其中空指针用0表示。例如1 5 8 0 0 0 6 0 0表示如下图的二叉树。第2行为整数m,表示查询个数。接下来m行,每行为一个不等于0的整数K,表示要查找的结点的数据值。m不超过100,二叉树结点个数不超过150000,高度不超过6000。输入数据保证二叉树各结点数据值互不相等。输出格式:输出为m行,原创 2022-04-21 22:00:01 · 2513 阅读 · 1 评论 -
7-5 二叉树的创建与遍历 (5 分)
7-5 二叉树的创建与遍历 (5 分)通过带空指针信息的先根序列(亦称先序序列)创建二叉树,并进行先根(先序)、中根(中序)、后根(后序)遍历。二叉树结点数据域值为不等于0的整数(可能是正数也可能是负数),空指针用0表示,例如1 5 8 0 0 0 6 0 0表示如下图的二叉树。输入格式:输入为一组用空格间隔的整数,表示带空指针信息的二叉树先根序列。其中空指针信息用0表示。二叉树结点个数不超过150000,高度不超过6000。输入数据保证二叉树各结点数据值互不相等。输出格式:输出为3行整数,每个整原创 2022-04-21 21:39:04 · 382 阅读 · 0 评论 -
7-43 是否完全二叉搜索树 (30 分)
7-43 是否完全二叉搜索树 (30 分)将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数字间以1个空格分隔,行的首尾不得有多余空格。第二行输出YES,如果该树是完全二叉树;否则输出NO。输入样例1:原创 2022-04-21 21:18:06 · 183 阅读 · 0 评论 -
7-26 玩转二叉树 (25 分)
7-26 玩转二叉树 (25 分)给定一棵二叉树的中序遍历和前序遍历,请你先将树做个镜面反转,再输出反转后的层序遍历的序列。所谓镜面反转,是指将所有非叶结点的左右孩子对换。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其中序遍历序列。第三行给出其前序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树反转后的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:71 2 3 4 5 6 74 1 3 2原创 2022-04-21 21:10:44 · 118 阅读 · 0 评论 -
7-10 树的遍历 (25 分)
给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:4 1 6 3 5 7 2#include<bits/stdc++.h>usi原创 2022-04-21 21:06:56 · 97 阅读 · 0 评论