树
萧瑟1
这个作者很懒,什么都没留下…
展开
-
Aizu - ALDS1_7_C Tree Walk 树的三种遍历
Binary trees are defined recursively. A binary tree T is a structure defined on a finite set of nodes that eithercontains no nodes, or is composed of three disjoint sets of nodes: - a root node. ...原创 2018-08-30 17:45:59 · 309 阅读 · 0 评论 -
Leetcode 107. 二叉树的层次遍历 II 队列+栈的应用
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上的层次遍历为:[ [15,7], [9,20], [3]] 看到这个结果很容易想到先进后出...原创 2018-09-03 21:43:23 · 266 阅读 · 0 评论 -
Leetcode 199. 二叉树的右视图 二叉树的遍历
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]输出: [1, 3, 4]解释: 1 <--- / \2 3 <--- \ \ 5 4 <---此题有两种解法,一种是二...原创 2018-09-09 11:16:45 · 249 阅读 · 0 评论 -
中国大学MOOC-陈越、何钦铭-数据结构-2018秋 03-树3 Tree Traversals Again (25 分)
An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stac...原创 2018-09-16 08:58:33 · 236 阅读 · 0 评论 -
中国大学MOOC-陈越、何钦铭-数据结构-2018秋 03-树2 List Leaves (25 分)
Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the first line gives a ...原创 2018-09-16 11:14:27 · 398 阅读 · 0 评论 -
中国大学MOOC-陈越、何钦铭-数据结构-2018秋 03-树1 树的同构 (25 分)
给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1图2现给定两棵树,请你判断它们是否是同构的。 输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一个非负整数N (≤...原创 2018-09-16 12:03:18 · 298 阅读 · 0 评论 -
Leetcode 124 二叉树中的最大路径和 (递归)
给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7] -10 / \ 9 20 ...原创 2018-11-06 23:44:13 · 200 阅读 · 0 评论 -
Leetcode 437 路径总和 III(递归)(未解决)
给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8...原创 2018-11-07 18:52:01 · 130 阅读 · 0 评论 -
Leetcode 103 二叉树的锯齿形层次遍历 (二叉树的层次遍历)
给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]] 是二叉树的层次遍历的一种变...原创 2018-11-05 15:01:29 · 198 阅读 · 0 评论 -
Leetcode 129 求根到叶子节点数字之和(递归)
给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字。例如,从根到叶子节点路径 1->2->3 代表数字 123。计算从根到叶子节点生成的所有数字之和。说明: 叶子节点是指没有子节点的节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 25解释:从根到叶子节点路径 1->2 ...原创 2018-11-05 23:39:52 · 282 阅读 · 0 评论 -
PAT (Advanced Level) Practice 1020 Tree Traversals (25 分)
Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to output the level order traversal sequence of the cor...原创 2018-11-13 22:48:11 · 110 阅读 · 0 评论 -
PAT (Advanced Level) Practice 1138 Postorder Traversal (25 分) 树的重构
Suppose that all the keys in a binary tree are distinct positive integers. Given the preorder and inorder traversal sequences, you are supposed to output the first number of the postorder traversal se...原创 2018-11-15 21:14:16 · 143 阅读 · 0 评论 -
牛客小白月赛11 F Rinne Loves Edges
题目链接:传送门代码如下:#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>using namespace std;typedef long long ll;const int maxn=1e5+5;int n,m,s;in...原创 2019-02-10 11:40:53 · 197 阅读 · 0 评论 -
蓝桥杯 历届试题 大臣的旅费 求树的直径
问题描述很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国重要大臣,他巡查于各大城市之间,体察民情。所以,从一个城市马不停蹄地到另一个城市成了...原创 2019-03-14 08:37:53 · 115 阅读 · 0 评论 -
Leetcode 113. 路径总和 II dfs
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ ...原创 2018-09-03 21:20:13 · 169 阅读 · 0 评论 -
Leetcode 110. 平衡二叉树 dfs
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null...原创 2018-09-03 13:35:57 · 179 阅读 · 0 评论 -
Leetcode 111. 二叉树的最小深度 dfs
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2. 求最小深度,分三种情况。如果左右子树都不为空,则递归求他们两者的最小值,若...原创 2018-09-03 11:38:42 · 250 阅读 · 0 评论 -
Aizu - ALDS1_7_d Reconstruction of a Tree 树的重建
Write a program which reads two sequences of nodes obtained by the preorder tree walk and the inorder tree walk on a binary tree respectively, and prints a sequence of the nodes obtained by the postor...原创 2018-08-31 10:37:09 · 221 阅读 · 0 评论 -
二叉搜索树的插入 (附例题)
二叉搜索树的插入操作,其实先从根节点开始从上往下比较,如果比节点的值小,就去与左子树比较,反之,去有子树比较。直到节点为空为止,说明找到插入的位置了。例题为Aizu - ALDS1_8_A Binary Search Tree ISearch trees are data structures that support dynamic set operations includin...原创 2018-08-31 12:09:28 · 1145 阅读 · 0 评论 -
Leetcode 验证二叉搜索树
给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 ...原创 2018-08-31 21:52:45 · 218 阅读 · 1 评论 -
Leetcode 二叉树的最大深度
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。求最大深度只需要递归左右子树,求左右子树的最大高度,然后在此基础上+1即可。...原创 2018-08-31 21:57:33 · 141 阅读 · 0 评论 -
Leetcode 对称二叉树 判定
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3说明:如果你可以运用递归和迭代两种方法解...原创 2018-09-01 09:45:26 · 266 阅读 · 0 评论 -
Leetcode 二叉树的层次遍历 队列的应用
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]通过队列进行操作,将每一层的节点的左右子节点入队,然后删除此节点,...原创 2018-09-01 11:15:07 · 145 阅读 · 0 评论 -
Leetcode 路径总和 dfs
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 ...原创 2018-09-01 12:24:56 · 256 阅读 · 0 评论 -
Leetcode 已知前序(后序)遍历和中序遍历构建二叉树
我们知道,中序遍历是左子树->根节点->右子树。因此我们可以通过中序遍历可以确定左右子树的元素个数。而通过前序(后序)遍历,我们可以确定根节点的位置,然后通过寻找根节点在中序遍历的位置,可以确定左右子树。然后递归递归左右子树实现构建二叉树。前序和中序:/** * Definition for a binary tree node. * public class T...原创 2018-09-01 16:49:41 · 907 阅读 · 0 评论 -
Leetcode 127. 单词接龙 bfs
给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。 转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。 所有单词具有相同的长度。 所有单词只由小写字母组成。 字典中不存在重复的单词。 你可以假设 beginWord ...原创 2018-09-04 15:55:38 · 633 阅读 · 0 评论 -
Aizu - ALDS1_7_A Rooted Trees 有根树的表达
A graph G = (V, E) is a data structure where V is a finite set of vertices and E is a binary relation on V represented by a set of edges. Fig. 1 illustrates an example of a graph (or graphs).Fig. 1...原创 2018-08-30 12:38:05 · 221 阅读 · 0 评论 -
二叉搜索树的删除操作(附例题)
。。。这一部分真心让我懵逼,可能是我太笨的缘故吧。。。。二叉搜索树的删除操作。。。具体方法要分情况,1. 若删除的节点没有孩子的时候,直接删除此节点,然后将父节点NULL;2.若删除的节点有一个孩子的时候,直接将父节点连接到其孩子节点,然后删除此节点。3.若有两个节点的时候,这时候就要找个节点代替它了,因为二叉搜索树具有左子树比此节点的值都小,右子树比此节点的值大,所以(1)可以找...原创 2018-07-03 20:37:20 · 4702 阅读 · 3 评论 -
Aizu - ALDS1_7_B Binary Trees 二叉树的表达
Binary TreeA rooted binary tree is a tree with a root node in which every node has at most two children.Your task is to write a program which reads a rooted binary tree T and prints the following ...原创 2018-08-30 16:04:27 · 282 阅读 · 0 评论 -
Leetcode 100. 相同的树 dfs
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 ...原创 2018-09-03 10:50:45 · 143 阅读 · 0 评论 -
UVA1395 苗条的生成树 Slim Span
题意翻译题意简述求所有生成树中最大边权与最小边权差最小的,输出它们的差值。输入:输入文件包含多组测试数据,每组测试数据如下: 第1行:2个整数n m (2 ≤ n ≤ 100 and 0 ≤ m ≤ n(n − 1)/2),n表示顶点数,m表示边数。接下来m行,每行3个空格分开的整数a b w(1 ≤ w ≤ 10000) , 表示顶点a与顶点b之间有一条边,权值为w。输出:...原创 2019-03-14 10:07:58 · 156 阅读 · 0 评论