![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
树
。。。
夜阑優珲
我是真的懒。
展开
-
堆的后序遍历
题目问题 E: 堆的后序遍历(DS排序)时间限制: 1 Sec 内存限制: 128 MB提交: 3 解决: 3[提交][状态][讨论版]题目描述给定一个整数序列, 把它建成最小堆,输出堆的后序遍历 假定序列无重复数字 输入只有一行,先输入n表示序列包含n个整数,接着输入n个整数 输出序列转变成最小堆后,输出堆的后序遍历样例输入7 49 38 65 97 76 13 27样例输出97 76 38 65 49 27 13 代码块#include <iostrea原创 2021-01-03 22:36:02 · 629 阅读 · 0 评论 -
二叉树后序线索(DS树)
题目问题 C: 二叉树后序线索(DS树)时间限制: 1 Sec 内存限制: 128 MB提交: 27 解决: 19[提交][状态][讨论版]题目描述给定一棵二叉树的先序遍历的“带0(零)表示”, 实现以下功能:1)二叉树的构建,并生成二叉树的后序遍历序列;2)求某个结点在后序遍历序列中的前驱与后继。输入第一行输入t表示有t个测试实例每个测试实例包含2行输入:第1行:二叉树先序遍历序列,空结点用字符零‘0’表示,无需考虑空树第2行:输入2个指定结点的编号。输出每个测试实例输出原创 2021-01-03 20:29:23 · 3691 阅读 · 2 评论 -
DS二叉树的先序遍历及应用
题目问题 C: DS二叉树的先序遍历及应用时间限制: 1 Sec 内存限制: 128 MB提交: 74 解决: 32[提交][状态][讨论版]题目描述按先序遍历给出一棵二叉树,每个结点都有一个水平位置:左子结点在它左边一个单位,右子结点在右边1个单位。从左向右输出每个水平位置的所有节点的权值之和。例如:以下二叉树有三个水平位置,从左至右的输出是7,11,3。输入测试数据有多组,每组测试数据输入按先序遍历输入一棵二叉树,其中-1代表空节点(一棵树的节点数量不超过 103)原创 2021-01-01 16:53:57 · 451 阅读 · 0 评论 -
Trie树
题解这题在输入方面遇到了点问题。首先是没说明单词字符串的个数,其次是各单词字符串间是以空格隔开,以回车结束所有单词输入,然后总的又要求多组测试数据。根据前面两点,还是应该一个字符一个字符的读取字符串,遇到有效字符就加入串,遇到空格就跳到下一个串,遇到回车就进入本题的函数,遇到eof就退出。题目问题 E: Trie树时间限制: 1 Sec 内存限制: 128 MB提交: 4 解决: 3[提交][状态][讨论版]题目描述Trie树又称单词查找树,是一种树形结构,如下图所示。它是一种原创 2020-12-30 22:03:55 · 609 阅读 · 0 评论 -
DS森林叶子编码
题目问题 L: DS森林叶子编码时间限制: 1 Sec 内存限制: 128 MB提交: 97 解决: 71[提交][状态][讨论版]题目描述给定一组森林,编写程序生成对应的二叉树,输出这颗二叉树叶结点对应的二进制编码.规定二叉树的左边由0表示,二叉树的右边由1表示。输入输入:N B 表示N个树,每结点最多B个分支第2行至第N+1行,每个树的先序遍历输出每行表示一个叶结点对应的二进制编码.样例输入3 3A B 0 0 0 C 0 0 0 D 0 0 0E F 0原创 2020-12-20 11:09:46 · 2164 阅读 · 3 评论 -
DS二叉树判断--同一棵二叉树
题解题目问题 E: DS二叉树判断--同一棵二叉树?时间限制: 1 Sec 内存限制: 128 MB提交: 107 解决: 71[提交][状态][讨论版]题目描述二叉树分别以数组存储方式创建、以先序遍历序列创建。输入二叉树的数组存储、先序遍历结果,判断根据它们创建的二叉树是否是同一棵二叉树。输入 测试次数t每组测试数据两行:第一行:二叉树的数组存储(英文字母表示树结点,#表示空树)第二行:二叉树的先序遍历结果(英文字母表示树结点,#表示空树)输出 对每组测试数原创 2020-12-28 19:56:51 · 1721 阅读 · 2 评论 -
DS查找—二叉树平衡因子
题目问题 D: DS查找—二叉树平衡因子时间限制: 1 Sec 内存限制: 128 MB提交: 242 解决: 190[提交][状态][讨论版]题目描述二叉树用数组存储,将二叉树的结点数据依次自上而下,自左至右存储到数组中,一般二叉树与完全二叉树对比,比完全二叉树缺少的结点在数组中用0来表示。计算二叉树每个结点的平衡因子,并按后序遍历的顺序输出结点的平衡因子。--程序要求--若使用C++只能include一个头文件iostream;若使用C语言只能include一个头文件stdio原创 2020-12-28 19:56:26 · 1153 阅读 · 0 评论 -
DS二叉排序树之删除
题目问题 C: DS二叉排序树之删除时间限制: 1 Sec 内存限制: 128 MB提交: 497 解决: 288[提交][状态][讨论版]题目描述给出一个数据序列,建立二叉排序树,并实现删除功能对二叉排序树进行中序遍历,可以得到有序的数据序列输入第一行输入t,表示有t个数据序列第二行输入n,表示首个序列包含n个数据第三行输入n个数据,都是自然数且互不相同,数据之间用空格隔开第四行输入m,表示要删除m个数据从第五行起,输入m行,每行一个要删除的数据,都是自然数以原创 2020-12-28 19:56:13 · 907 阅读 · 1 评论 -
DS二叉排序树之查找
题目问题 B: DS二叉排序树之查找时间限制: 1 Sec 内存限制: 128 MB提交: 358 解决: 302[提交][状态][讨论版]题目描述给出一个数据序列,建立二叉排序树,并实现查找功能对二叉排序树进行中序遍历,可以得到有序的数据序列输入第一行输入t,表示有t个数据序列第二行输入n,表示首个序列包含n个数据第三行输入n个数据,都是自然数且互不相同,数据之间用空格隔开第四行输入m,表示要查找m个数据从第五行起,输入m行,每行一个要查找的数据,都是自然数以原创 2020-12-28 19:55:57 · 378 阅读 · 0 评论 -
DS二叉排序树之创建和插入
题目问题 A: DS二叉排序树之创建和插入时间限制: 1 Sec 内存限制: 128 MB提交: 386 解决: 301[提交][状态][讨论版]题目描述给出一个数据序列,建立二叉排序树,并实现插入功能对二叉排序树进行中序遍历,可以得到有序的数据序列输入第一行输入t,表示有t个数据序列第二行输入n,表示首个序列包含n个数据第三行输入n个数据,都是自然数且互不相同,数据之间用空格隔开第四行输入m,表示要插入m个数据从第五行起,输入m行,每行一个要插入的数据,都是自然数原创 2020-12-28 19:55:47 · 830 阅读 · 0 评论 -
DS树--二叉树之最大路径
题目:问题 K: DS树--二叉树之最大路径时间限制: 1 Sec 内存限制: 128 MB提交: 280 解决: 249[提交][状态][讨论版]题目描述给定一颗二叉树的逻辑结构(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构二叉树的每个结点都有一个权值,从根结点到每个叶子结点将形成一条路径,每条路径的权值等于路径上所有结点的权值和。编程求出二叉树的最大路径权值。如下图所示,共有4个叶子即有4条路径,路径1权值=5 + 4 + 11原创 2020-12-01 21:02:13 · 322 阅读 · 0 评论 -
DS树--二叉树高度
题目:问题 J: DS树--二叉树高度时间限制: 1 Sec 内存限制: 128 MB提交: 512 解决: 327[提交][状态][讨论版]题目描述给出一棵二叉树,求它的高度。二叉树的创建采用前面实验的方法。注意,二叉树的层数是从1开始输入第一行输入一个整数t,表示有t个二叉树第二行起输入每个二叉树的先序遍历结果,空树用字符‘0’表示,连续输入t行输出每行输出一个二叉树的高度样例输入1AB0C00D00样例输出3代码块:#include &原创 2020-12-01 20:13:21 · 634 阅读 · 0 评论 -
DS树--带权路径和
题解:题目:问题 I: DS树--带权路径和时间限制: 1 Sec 内存限制: 128 MB提交: 388 解决: 328[提交][状态][讨论版]题目描述计算一棵二叉树的带权路径总和,即求赫夫曼树的带权路径和。已知一棵二叉树的叶子权值,该二叉树的带权案路径和APL等于叶子权值乘于根节点到叶子的分支数,然后求总和。如下图中,叶子都用大写字母表示,权值对应为:A-7,B-6,C-2,D-3树的带权路径和 = 7*1 + 6*2 + 2*3 + 3*3 = 34本题二叉树的原创 2020-12-01 12:09:26 · 547 阅读 · 0 评论 -
DS二叉树——Huffman编码与解码(不含代码框架)
题目:问题 H: DS二叉树——Huffman编码与解码(不含代码框架)时间限制: 1 Sec 内存限制: 128 MB提交: 475 解决: 241[提交][状态][讨论版]题目描述1、问题描述给定n个字符及其对应的权值,构造Huffman树,并进行huffman编码和译(解)码。构造Huffman树时,要求左子树根的权值小于、等于右子树根的权值。进行Huffman编码时,假定Huffman树的左分支上编码为‘0’,右分支上编码为‘1’。2、算法构造Huffman树算法原创 2020-11-30 22:17:50 · 399 阅读 · 0 评论 -
DS二叉树--后序遍历非递归算法
题解:题目:问题 G: DS二叉树--后序遍历非递归算法时间限制: 1 Sec 内存限制: 128 MB提交: 155 解决: 137[提交][状态][讨论版]题目描述求一颗树的后序遍历的非递归算法要求:必须是非递归算法,使用堆栈对象来实现建树方法采用“先序遍历+空树用0表示”的方法算法流程:输入第一行输入一个整数t,表示有t个测试数据第二行起输入二叉树先序遍历的结果,空树用字符‘0’表示,输入t行输出逐行输出每个二叉树的后序遍历结果样例输入3AB0C原创 2020-11-28 23:12:15 · 967 阅读 · 0 评论 -
DS二叉树--层次遍历
题解:注意CreateTree传引用!!!又被卡在这个问题上了。。。层次遍历的方法是利用队列,先放入根节点,之后每每弹出一个元素就放入它的左右孩子节点,如果左右孩子为NULL则不放入,直到队列为空。题目:问题 F: DS二叉树--层次遍历时间限制: 1 Sec 内存限制: 128 MB提交: 389 解决: 337[提交][状态][讨论版]题目描述层次遍历二叉树,是从根结点开始遍历,按层次次序“自上而下,从左至右”访问树中的各结点。建树方法采用“先序遍历+空树用0表示”的方法原创 2020-11-28 23:09:12 · 807 阅读 · 0 评论 -
DS二叉树——二叉树之数组存储
题解:对于二叉树的顺序存储结构,若由1存到n,则左孩子的下标为父节点的两倍,右孩子的下标为父节点的两倍加1(由0开始存就会不满足其)。这里数组要从1开始存完全二叉树,0号位置用来存完全二叉树的长度了。遍历过程也是采用递归的方法,只是递归的由指针变成了下标。题目:问题 E: DS二叉树——二叉树之数组存储时间限制: 1 Sec 内存限制: 128 MB提交: 358 解决: 317[提交][状态][讨论版]题目描述二叉树可以采用数组的方法进行存储,把数组中的数据依次自上而下,自左至原创 2020-11-28 19:59:10 · 1051 阅读 · 0 评论 -
DS二叉树——二叉树之父子结点
题目:问题 D: DS二叉树——二叉树之父子结点时间限制: 1 Sec 内存限制: 128 MB提交: 384 解决: 322[提交][状态][讨论版]题目描述给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘0’表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构。编写程序输出该树的所有叶子结点和它们的父亲结点输入第一行输入一个整数t,表示有t个二叉树第二行起,按照题目表示的输入方法,输入每个二叉树的先序遍历,连续输入t行输出第一行按先序遍历,输原创 2020-11-28 19:00:49 · 1229 阅读 · 3 评论 -
DS二叉树--左叶子数量
题目:问题 C: DS二叉树--左叶子数量时间限制: 1 Sec 内存限制: 128 MB提交: 388 解决: 353[提交][状态][讨论版]题目描述计算一颗二叉树包含的叶子结点数量。左叶子是指它的左右孩子为空,而且它是父亲的左孩子提示:可以用三叉链表法,也可以用现有算法对两层结点进行判断建树方法采用“先序遍历+空树用0表示”的方法输入第一行输入一个整数t,表示有t个测试数据第二行起输入二叉树先序遍历的结果,空树用字符‘0’表示,输入t行输出逐行输出每个二叉树原创 2020-11-28 18:19:26 · 957 阅读 · 0 评论 -
DS二叉树--叶子数量
题解:这里叶子数不能设置为函数PreOrder的形参然后返回,因为PreOrder是一个递归函数,在每一层PreOrder中的LeafNum都不是同一个变量,这里设为形参只能做到外层传到内层,而内层传不到外层,当内层递归结束后最外层中的LeafNum还是初始值,内层PreOrder改变的只是内层中LeafNum的值。解决办法是把LeafNum设为全局变量,这样每层操作的就都是同一个变量,但要注意每组测试用例结束后要把LeafNum置0,不然LeafNum会叠加。题目:问题 B: DS二叉树--叶原创 2020-11-28 18:02:01 · 446 阅读 · 1 评论 -
DS二叉树—二叉树构建与遍历(不含框架)
题解:这里面myTree中的root成员是在main函数中声明,但在CreateTree中malloc,所以注意CreateTree函数要传引用。题目:问题 A: DS二叉树—二叉树构建与遍历(不含框架)时间限制: 1 Sec 内存限制: 128 MB提交: 498 解决: 384[提交][状态][讨论版]题目描述 给定一颗二叉树的逻辑结构如下图,(先序遍历的结果,空树用字符‘#’表示,例如AB#C##D##),建立该二叉树的二叉链式存储结构,并输出该二叉树的先序遍历、中序遍历和后序原创 2020-11-28 00:14:09 · 774 阅读 · 0 评论