![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二叉树
彡倾灬染|
这个作者很懒,什么都没留下…
展开
-
SDUT数据结构PTA专题(实验五)题解
数据结构与算法A实验五树和二叉树7-1 还原二叉树 (25 分)7-4 树的遍历 (25 分)7-1 还原二叉树 (25 分)#include<bits/stdc++.h>#define ll long longconst int N = 2e5 + 10;using namespace std;int n; // 节点数char pre[N]; // 记录前序遍历char mid[N]; // 记录中序遍历struct node{ // 树结构体 char原创 2021-10-30 16:13:55 · 1276 阅读 · 0 评论 -
深入学习二叉树(一) 二叉树基础(转载)
**深入学习二叉树(一) 二叉树基础**前言树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。一直以来,对于树的掌握都是模棱两可的状态,现在希望通过写一个关于二叉树的专题系列。在学习与总结的同时更加深入的了解掌握二叉树。本系列文章将着重介绍一般二叉树、完全二叉树、满二叉树、线索二叉树、霍夫曼树、二叉排序树、平衡二叉树、红黑树、B树。希望各位读者能够关注专题,并给出相应意见,通过系列的学习做到心中有“树”。1 重点概念1.1 结点概念结点是数据结构中的基础,是构成复杂数据结构的基本组成单位。转载 2020-05-11 22:25:33 · 191 阅读 · 0 评论 -
L2-011 玩转二叉树 (25 分) (先序中序建立二叉树)
题目链接输入样例:71 2 3 4 5 6 74 1 3 2 6 5 7输出样例:4 6 1 7 5 3 2思路本题考查就是先序中序建立二叉树,看起来镜面操作花里胡哨,其实就是层序遍历的时候先把右子树放进去,再放左子树答案#include <iostream>#include<bits/stdc++.h>#define ll long long#define PII pair<int,int>#define PSS pair<str原创 2021-04-10 20:13:07 · 173 阅读 · 0 评论 -
L3-010 是否完全二叉搜索树 (30 分)
题目链接将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果。输入格式:输入第一行给出一个不超过20的正整数N;第二行给出N个互不相同的正整数,其间以空格分隔。输出格式:将输入的N个正整数顺序插入一个初始为空的二叉搜索树。在第一行中输出结果树的层序遍历结果,数字间以1个空格分隔,行的首尾不得有多余空格。第二行输出YES,如果该树是完全二叉树;否则输出NO。输入样例1:938 45 42 24 58原创 2021-03-24 19:56:45 · 91 阅读 · 0 评论 -
L2-004 这是二叉搜索树吗? (25 分)
一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点,其左子树中所有结点的键值小于该结点的键值;其右子树中所有结点的键值大于等于该结点的键值;其左右子树都是二叉搜索树。所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。给定一个整数键值序列,现请你编写程序,判断这是否是对一棵二叉搜索树或其镜像进行前序遍历的结果。输入格式:输入的第一行给出正整数 N(≤1000)。随后一行给出 N 个整数键值,其间以空格分隔。输出格式:如果输入序列是对一棵二叉搜索树或其镜像原创 2021-03-18 20:59:47 · 77 阅读 · 0 评论 -
K - 巨斧砍大树(二叉树操作)
Description阿福最近练就了一个新的招式:巨斧砍大树。这个招式可以砍掉一颗二叉搜索树的某个子树。现在,阿福面前有一颗 nn 个结点的二叉搜索树,他要使用 mm 次招式,于是他想询问你每次使用「巨斧砍大树」后二叉搜索树会被砍成什么样子。二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉搜索树。Input第一行输入 2 个整数 n, m(1⩽n原创 2020-11-04 19:34:08 · 467 阅读 · 0 评论 -
A - 数据结构实验之查找一:二叉排序树(数组实现/模板题)
Description对应给定的一个序列可以唯一确定一棵二叉排序树。然而,一棵给定的二叉排序树却可以由多种不同的序列得到。例如分别按照序列{3,1,4}和{3,4,1}插入初始为空的二叉排序树,都得到一样的结果。你的任务书对于输入的各种序列,判断它们是否能生成一样的二叉排序树。Input输入包含若干组测试数据。每组数据的第1行给出两个正整数N (n < = 10)和L,分别是输入序列的元素个数和需要比较的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列生成一颗二叉排序树。随后L行,每原创 2020-11-04 19:27:42 · 336 阅读 · 0 评论 -
J - 迷失の搜索树
Description小璐在机缘巧合之下获得了一个二叉搜索树,这个二叉搜索树恰好有n个节点,每个节点有一个权值,每个节点的权值都在[1,n]这个区间内,并且两两不相同,真是优美的性质啊但是命运的不公又让她失去了这个二叉搜索树幸运的是,她还记得自己丢失的二叉搜索树的前序遍历序列。在丢了二叉搜索树之后,小璐无比想念她的这个树的后序遍历那么问题来了,聪明的你在知道这个二叉搜索树的前序遍历的序列的情况下,能帮她找到这个二叉搜索树的后序遍历嘛?Input多组输入,以文件结尾每组数据第一行为一个整数n,原创 2020-10-21 14:24:10 · 290 阅读 · 0 评论 -
A - 数据结构实验之二叉树一:树的同构
Description给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。图1图2现给定两棵树,请你判断它们是否是同构的。Input输入数据包含多组,每组数据给出2棵二叉树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤10),即该树的结点数(此时假设结点从0到N−1编号);随后N行,第i行对应编号第i个结点,给出该结原创 2020-10-18 16:30:18 · 210 阅读 · 0 评论 -
SDUT 二叉树(模板题)
I - 二叉树Description已知二叉树的一个按前序遍历输入的字符序列,如abc,de,g,f, (其中,表示空结点)。请建立二叉树,并输出建立二叉树的前序遍历序列、中序遍历序列、后序遍历序列、层次遍历序列、深度、叶子数。Input多组测试数据,对于每组测试数据,输入一个长度小于50的按前序遍历输入的字符序列。Output对于每组测试数据,第1行输出其前序遍历序列、第2行输出其中序遍历序列、第3行输出其后序遍历序列、第4行输出其深度、第5行输出其叶子数。SampleInputabc,原创 2020-10-14 00:20:39 · 263 阅读 · 0 评论