二叉树
穷源溯流
路很长,尽管走便是。
展开
-
树及其遍历
建一棵树,输出前序遍历,中序遍历,层序遍历的结果其中层序遍历比较特殊,可以借助队列来实现层序遍历的效果#include <bits/stdc++.h>#define null NULLusing namespace std;struct node{ char data; node *l,*r;};char ch;class Tree{public: Tree(){ root=creat(); } ~Tree(){ erase(..原创 2020-11-03 09:09:44 · 194 阅读 · 0 评论 -
1368:对称二叉树(tree_c)
【题目描述】 如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不空,则称该二叉树是对称的。编程判断给定的二叉树是否对称. 例:如下图中的二叉树T1是对称的,T2是不对称的。 二叉树用顺序结构给出,若读到#则为空,二叉树T1=ABCDE,T2=ABCD#E,如果二叉树是对称的,输出“Yes”,反之输出“No”。 【输入】 二叉树用...原创 2020-04-10 08:53:40 · 722 阅读 · 0 评论 -
1366:二叉树输出(btout)
【题目描述】 树的凹入表示法主要用于树的屏幕或打印输出,其表示的基本思想是兄弟间等长,一个结点的长度要不小于其子结点的长度。二叉树也可以这样表示,假设叶结点的长度为1,一个非叶结点的长度等于它的左右子树的长度之和。 一棵二叉树的一个结点用一个字母表示(无重复),输出时从根结点开始: 每行输出若干个结点字符(相同字符的个数等于该结点长度), 如果该结点有左子树...原创 2020-04-08 13:05:06 · 980 阅读 · 0 评论 -
1364:二叉树遍历(flist)
【题目描述】 树和二叉树基本上都有先序、中序、后序、按层遍历等遍历顺序,给定中序和其它一种遍历的序列就可以确定一棵二叉树的结构。 假定一棵二叉树一个结点用一个字符描述,现在给出中序和按层遍历的字符串,求该树的先序遍历字符串。 【输入】 两行,每行是由字母组成的字符串(一行的每个字符都是唯一的),分别表示二叉树的中序遍历和按层遍历的序列。 【输出】...原创 2020-04-08 12:04:46 · 481 阅读 · 0 评论 -
1339:求后序遍历
【题目描述】 输入一棵二叉树的先序和中序遍历序列,输出其后序遍历序列。 【输入】 共两行,第一行一个字符串,表示树的先序遍历,第二行一个字符串,表示树的中序遍历。树的结点一律用小写字母表示。 【输出】 一行,表示树的后序遍历序列。 【输入样例】 abdecdbeac 【输出样例】 debc...原创 2020-04-08 08:08:35 · 343 阅读 · 0 评论 -
1365:FBI树(fbi)
【题目描述】 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。 FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下: T的根结点为R,其类型与串S的类型相同; 若串S的长度大于1,将串S从中间...原创 2020-04-07 22:02:18 · 378 阅读 · 0 评论 -
1367:查找二叉树(tree_a)
【题目描述】 已知一棵二叉树用邻接表结构存储,中序查找二叉树中值为x的结点,并指出是第几个结点。例:如图二叉树的数据文件的数据格式如下: 【输入】 第一行n为二叉树的结点个树,n≤100;第二行x表示要查找的结点的值;以下第一列数据是各结点的值,第二列数据是左儿子结点编号,第三列数据是右儿子结点编号。 【输出】 一个数即查找的结点编号。...原创 2020-04-07 16:51:41 · 894 阅读 · 0 评论 -
1363:小球(drop)
【题目描述】 许多的小球一个一个的从一棵满二叉树上掉下来组成FBT(Full Binary Tree,满二叉树),每一时间,一个正在下降的球第一个访问的是非叶子节点。然后继续下降时,或者走右子树,或者走左子树,直到访问到叶子节点。决定球运动方向的是每个节点的布尔值。最初,所有的节点都是false,当访问到一个节点时,如果这个节点是false,则这个球把它变成true,然后从左子树走...原创 2020-04-07 15:47:45 · 1187 阅读 · 0 评论 -
1340:扩展二叉树
【题目描述】 由于先序、中序和后序序列中的任一个都不能唯一确定一棵二叉树,所以对二叉树做如下处理,将二叉树的空结点用·补齐,如图所示。我们把这样处理后的二叉树称为原二叉树的扩展二叉树,扩展二叉树的先序和后序序列能唯一确定其二叉树。 现给出扩展二叉树的先序序列,要求输出其中序和后序序列。 【输入】 扩展二叉树的先序序列。 【输出】 输...原创 2020-04-06 23:31:20 · 632 阅读 · 0 评论 -
1338:医院设置
设有一棵二叉树(如下图),其中圈中的数字表示结点中居民的人口,圈边上数字表示结点编号。现在要求在某个结点上建立一个医院,使所有居民所走的路程之和为最小,同时约定,相邻结点之间的距离为1。就本图而言,若医院建在1处,则距离和=4+12+2×20+2×40=136;若医院建在3处,则距离和=4×2+13+20+40=81…… 【输入】 第一行一个整数n,表示树的结点数...原创 2020-04-06 22:55:40 · 613 阅读 · 0 评论 -
1337:单词查找树
【题目描述】 在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度,通常都画出与单词列表所对应的单词查找树,其特点如下: 1.根结点不包含字母,除根结点外每一个结点都仅包含一个大写英文字母; 2.从根结点到某一结点,路径上经过的字母依次连起来所构成的字母序列,称为该结点对应的单词。单词列表中的每个单词,都是该单词查找树某个结点所...原创 2020-04-06 18:10:41 · 612 阅读 · 0 评论 -
1336:找树根和孩子
【题目描述】 给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子。 【输入】 第一行:n(结点个数≤100),m(边数≤200)。 以下m行:每行两个结点x和y,表示y是x的孩子(x,y≤1000)。 【输出】 第一行:树根:root; 第二行:孩子最多的结点max; 第三行:max的孩子(按编号由小到输出)。...原创 2020-04-06 12:25:12 · 594 阅读 · 0 评论