随笔分类 - 数据结构---树
摘要:题意:判断路径和是否等于一个数。 分析:递归判断左右子树是否有和为sum-(root->val)的路径即可。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * Tre
阅读全文
摘要:题意:归并两棵二叉树。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), l
阅读全文
摘要:题意:翻转二叉树。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), lef
阅读全文
摘要:题意:求树上任意两节点的最长路径。 分析:最长路径一定经过某个子树的根结点,显然,最长路径的两端要么是该根结点要么是叶子结点,因此,最长路径的长度一定为该子树的左子树高+右子树高。 /** * Definition for a binary tree node. * struct TreeNode
阅读全文
摘要:题意:判断二叉树是否为平衡树。左右子树高度差最多为1的树是平衡树。 分析:借助求树高判断是否为平衡树。 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNo
阅读全文
摘要:题意:求树的高度 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left
阅读全文
摘要:已知如下信息,补充函数,返回二叉树的后序遍历。 代码如下: vector<int> get_postorder(Node *root){ vector<int> v; if(root == NULL) return v; v = get_postorder(root -> left); vector
阅读全文
摘要:例1:给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。 题目链接:https://www.patest.cn/contests/gplt/L2-006 #include<bits/stdc++.h> using namespace std; const int MAXN = 100 +
阅读全文
摘要:将一系列给定数字顺序插入一个初始为空的小顶堆H[]。随后判断一系列相关命题是否为真。命题分下列几种: “x is the root”:x是根结点; “x and y are siblings”:x和y是兄弟结点; “x is the parent of y”:x是y的父结点; “x is a chi
阅读全文
摘要:题意: 一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值; 其右子树中所有结点的键值大于等于该结点的键值; 其左右子树都是二叉搜索树。 所谓二叉搜索树的“镜像”,即将所有结点的左右子树对换位置后所得到的树。 给定一个整数键值序列,现请你编写
阅读全文
摘要:题意:给定一个树的bfs和dfs序列,升序输出每个结点的子结点列表。 分析:因为建树不唯一,假定若bfs[u] = bfs[v] + 1,则u是v的兄弟结点,否则是孩子结点。用栈维护。
阅读全文
摘要:题意:问使天平平衡需要改动的最少的叶子结点重量的个数。 分析:天平达到平衡总会有个重量,这个重量可以由某个叶子结点的重量和深度直接决定。 如下例子: 假设根结点深度为0,结点6深度为1,若以该结点为基准(该结点值不变),天平要平衡,总重量是12(6 << 1),而若以结点3为基准,天平要平衡,总重量
阅读全文
摘要:题意:0往左走,1往右走,已知所有叶子的值,每个查询都是根结点到叶子结点的路径,路径的每一个点分别对应着x1,x2,x3……但是实际上的S树的路径可能并非是x1,x2,x3…… 分析:先存路径变量的顺序,来控制最后访问的顺序。
阅读全文
摘要:题意:已知先序中序,输出后序。
阅读全文
摘要:题意:将多叉树转化为括号表示法。 分析:gets读取,dfs就好了。注意,样例中一行的最后一个字母后是没有空格的。
阅读全文
摘要:题意:求两棵四分树合并之后黑色像素的个数。 分析:边建树边统计。
阅读全文
摘要:题意:每个结点都有一个水平位置,下标范围最多80,左右子结点分布在根结点左右各相距1个单位,从左到右输出个各水平位置结点权值之和。先序输入。 分析:边输入边统计,注意清零和格式。
阅读全文
摘要:题意:判断一棵树是否符合力矩相等。 分析:递归。注意引用传值的使用。
阅读全文
摘要:题意:已知中序后序序列,求一个叶子到根路径上权和最小,如果多解,则叶子权值尽量小。 分析:已知中序后序建树,再dfs求从根到各叶子的权和比较大小 已知中序和后序可建树,建成后,可输出前序序列。
阅读全文
摘要:题意:给定结点值和从根结点到该结点的路径,若根到某个叶结点路径上有的结点输入中未给出或给出超过一次,则not complete,否则层次遍历输出所有结点。 分析:先建树,建树的过程中,沿途结点都申请了内存,所以在bfs的时候如果该结点有内存,但是未赋值,那就算not complete,别忘了释放内存
阅读全文

浙公网安备 33010602011771号