翻转二叉树,2种方案,递归与非递归 (个人更喜欢非递归的方案,大多数情况下非递归的迭代都拥有更低的时空间复杂度,当然也存在 傅里叶快速变换那种小而美的递归方案,见仁见智吧) 1. 递归(深度优先遍历方案) 此方案中,我们会直接从最顶层父节点,一路递归至最左侧叶子节点, 然后再递归至其父节点的右孩子, ...
分类:
其他好文 时间:
2021-04-07 11:36:18
阅读次数:
0
主要有两个操作:push_up 与 push_down. push_up 用子节点来算父节点信息,如:sum = l.sum + r.sum push_down 父节点的修改信息下传到子节点 基本操作 push_up(u) bulid() 将一段区间初始化为线段树 modify 修改 $\left ...
分类:
其他好文 时间:
2021-04-06 15:08:05
阅读次数:
0
编号104:二叉树的最大深度 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 思路 递归实现:先找左子树的最大深度;再找 ...
分类:
其他好文 时间:
2021-04-05 12:45:42
阅读次数:
0
难度 easy 翻转一棵二叉树。 示例: 输入: 4 / 2 7 / \ / 1 3 6 9 输出: 4 / 7 2 / \ / 9 6 3 1 备注: 这个问题是受到 Max Howell 的 原问题 启发的 : 解题思路:这道题比较简单,就是用递归的方式求解的,如果root是空节点或者没有子节点 ...
分类:
其他好文 时间:
2021-04-01 13:37:05
阅读次数:
0
索引 索引的本质 索引的本质:索引是数据结构。索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。 B-Tree和B+Tree B-Tree B+Tree 每个节点的指针上限为2d而不是2d+1。 内节点不存储data,只存储key;叶子节点不存储指针。 为什 ...
分类:
数据库 时间:
2021-03-30 12:59:32
阅读次数:
0
Mysql存储引擎MyISAM与InnoDB - B+树数据的增删细节 Mysql存储引擎MyISAM与InnoDB - B+树数据的增删细节 前言Mysql索引文件的存储结构 1. InnoDB - B+Tree,叶子节点直接放置数据1.2 回表 2. MyISAM--B+Tree,叶子节点放置数 ...
分类:
数据库 时间:
2021-03-15 10:53:32
阅读次数:
0
1.二叉树的前序遍历:输出当前结点的值之后再去判断是否含有子节点如果有就继续调用递归;2.二叉树的中序遍历:先判断当前节点的一个子节点是否存在并递归之后再去输出当前节点的值,再继续判断另一边的节点;3.二叉树的后序遍历:先判断左右两边的子节点是否存在,如果存在就去递归,直到最后的递归完成后再输出当前 ...
分类:
其他好文 时间:
2021-03-15 10:48:20
阅读次数:
0
问题 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSu ...
分类:
其他好文 时间:
2021-03-12 13:01:16
阅读次数:
0
二叉树 1.1 为什么需要树这种数据结构 1) 数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率较低 [示意图] 画出操作示意图: 2) 链式存储方式的分析 优点:在一定程度上对 ...
分类:
编程语言 时间:
2021-03-09 13:27:10
阅读次数:
0
题目链接 题解 因为要进行异或运算,可以将$a$中的数按位存入二叉树中(有些像Trie树)。如题目样例一可存为如下的树: 据题意,$a_i$所连的边为与其异或值最小的元素,而该元素在二叉树中一定为与$a_i$相邻且与$a_i$的LCA最深的叶子节点。如上图中与$1$(第4层从左至右数第2个)连边的元 ...
分类:
其他好文 时间:
2021-03-08 13:20:54
阅读次数:
0