随笔分类 -  二叉树

二叉树
摘要:## [AcWing 479. 加分二叉树](https://www.acwing.com/problem/content/description/481/) ### 一、题目描述 设一个 n 个节点的二叉树 tree 的 **中序遍历** 为(1,2,3,,n),其中数字 $ 阅读全文
posted @ 2022-01-07 14:13 糖豆爸爸 阅读(143) 评论(0) 推荐(1) 编辑
摘要:题目传送门 #include <bits/stdc++.h> using namespace std; //2^7是极大值,就是 128是队伍的最大值,完全二叉树的最底层是128,上面肯定是127个,加在一起是255个,声明一个大于255的数字N可以保存的下 const int N = 260; i 阅读全文
posted @ 2021-11-24 16:01 糖豆爸爸 阅读(110) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、绘制二叉树 1、宽度分析 (含指定m值情况下的最大宽度,与极限值情况下最大宽度) o / \ o o m = 2 >最长宽度=6=321(在最后面一个o后面再加一个空格,算入本轮的宽度) o / \ / \ o o / \ / \ o o o o m = 3 >最长宽度$=1 阅读全文
posted @ 2021-08-05 17:39 糖豆爸爸 阅读(218) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、理解与感悟 1、树结点需要由父到子,有时也需要由子到父,所以结构体需要修改如下: //树的结构体+存储数组 struct Node { int id; // 当前结点ID int father; // 爸爸 int left; // 左结点ID int right; // 右结点ID 阅读全文
posted @ 2021-08-05 15:24 糖豆爸爸 阅读(138) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、总结与感悟 1、二叉树遍历的代码模板 const int N = 1e6 + 10; //树的结构体+存储数组 //此处:为二叉树的标准创建、遍历模板,可用于其它试题! struct Node { int id; // 当前结点ID int left; // 左结点ID int ri 阅读全文
posted @ 2021-08-05 08:12 糖豆爸爸 阅读(57) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、已知后序+中序,求前序 https://www.cnblogs.com/littlehb/p/15088998.html 二、已知前序+中序,求后序 https://www.cnblogs.com/littlehb/p/15088448.html 三、已知前序+后序,求中序个数 只有 阅读全文
posted @ 2021-08-04 17:09 糖豆爸爸 阅读(137) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、二叉树+bfs解法 #include <bits/stdc++.h> using namespace std; typedef pair<int, int> PII; const int N = 210; bool st[N]; //是不是走过了 int n, ans = 0x3f3 阅读全文
posted @ 2021-08-02 15:40 糖豆爸爸 阅读(80) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、数组+lower_bound+upper_bound模拟 #include <bits/stdc++.h> using namespace std; const int N = 10010; int a[N]; int q, cmd, number, cnt; long long p 阅读全文
posted @ 2021-08-02 14:01 糖豆爸爸 阅读(195) 评论(0) 推荐(0) 编辑
摘要:二叉树的三种遍历方式 一、二叉树的前序、中序、后序遍历 二叉树遍历分为三种:前序、中序、后序,其中序遍历最为重要。为啥叫这个名字?是根据根节点的顺序命名的。 规则: 前中后序是对根而言的,前就是先说根是啥,中就是中间说根是啥,后是最后说根是啥。 除根以外,其它同级节点的遍历顺序是先左后右。 举栗子: 阅读全文
posted @ 2021-08-02 11:14 糖豆爸爸 阅读(2429) 评论(0) 推荐(0) 编辑
摘要:题目传送门 一、已知后序+中序,求前序 求解步骤: (1)后序遍历的字符串,尾字母是子树的根。 (2)在中序遍历字符串中找到“步骤1查找到的尾字母”,它的左边就是左子树,右边就是右子树,可以计算获得左子树长度cnt=il2。 (3)在后序遍历字符串中根据左子树长度,获取到左子树子串(\(l1 阅读全文
posted @ 2021-08-02 10:53 糖豆爸爸 阅读(860) 评论(0) 推荐(1) 编辑
摘要:题目传送门 一、已知前序+中序,求后序 (1)、二叉树的遍历,就是一个深度优先搜索的过程: 前序 const int N = 1e6 + 10; //树的结构体+存储数组 struct Node { int id; // 当前结点ID int left; // 左结点ID int right;// 阅读全文
posted @ 2021-08-02 08:23 糖豆爸爸 阅读(415) 评论(0) 推荐(1) 编辑
摘要:题目传送门 C++代码 #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 10; //树的结构体+存储数组 struct Node { int left; // 左结点ID int right;// 右结点ID } t 阅读全文
posted @ 2021-07-30 11:59 糖豆爸爸 阅读(94) 评论(0) 推荐(0) 编辑

Live2D
点击右上角即可分享
微信分享提示