树
文章平均质量分 69
谈谈1974
火萎了,我也准备走了
展开
-
算法-二叉搜索树中第K小的元素
二叉搜索树的中序遍历为有序数组,借助栈结构将树的左子树入栈,直到叶节点为空开始出栈,此时对出栈元素进行计数即可。给定一个二叉搜索树的根节点 root 和一个整数 k ,查找树中第 k 个最小元素(从 1 开始计数),输入:root = [3,1,4,null,2], k = 1。原创 2023-04-28 19:15:00 · 316 阅读 · 0 评论 -
算法-二叉树合并
给定两个二叉树 root1 和 root2,将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 NULL 的节点将直接作为新二叉树的节点,原创 2023-04-27 15:00:00 · 673 阅读 · 0 评论 -
LSM 树(Log-Structured Merge-Tree) 原理
文章目录1. LSM 树介绍1.1 背景1.2 核心思想2. 基本原理2.1 写数据2.2 读数据3. LevelDB 中的 LSM1. LSM 树介绍1.1 背景传统关系型数据库通常在读性能上有较高的要求,通过以下方式组织数据能够在复杂的读场景下(比如按关键字或者范围)高效地进行查找二分查找: 将数据按一定规则顺序保存,使用二分查找可完成特定 key 的快速查找哈希:使用哈希将数据分割存储在特定位置B+树:使用 B+树 或者 ISAM 索引顺序存取等方法组织数据,可以减少外部文件的读取外原创 2020-07-24 21:04:58 · 5535 阅读 · 3 评论 -
算法-二叉树两个叶节点最大距离
1. 二叉树中两个子节点相距最大距离获取二叉树中两个子节点相距最大距离,其实可转换为二叉树两子树高度之和最大的问题 /** * Note:根节点两子树高度之和并不一定等于两个子节点相距最大距离,存在相距最远的两子节点在根节点同一子树下的情况,故需变量 max 记录该值 * a ...原创 2019-10-30 22:00:38 · 1023 阅读 · 0 评论 -
算法-二叉树遍历
1. 二叉树遍历二叉树遍历的递归方式非常简单,非递归方式则相对复杂。通常二叉树节点的定义如下:class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}...原创 2019-09-05 14:33:44 · 401 阅读 · 0 评论 -
算法-二叉树查找和为target的路径
1. 和为target的路径有如下二叉树,需要找出从根节点到叶节点 和为指定值 的路径。 0 / \ 1 2 / \5 4例如 target =6, 则需要返回 [0,1,5],[0,2,4]2. 解法回溯法查找,如有解直接返回,无解返回上一层。ArrayList<Integer> list = new...原创 2019-09-06 23:26:49 · 1052 阅读 · 0 评论 -
数据结构 - 树的分类
文章目录1. 树的分类2. 二叉树2.1 红黑树3. 多叉树1. 树的分类根据树分支的数量限制,可以将树结构分为两类:二叉树:二叉树也就是一个节点只有两个子节点的树结构,比较有代表的如 红黑树多叉树:多叉树一个节点最少有两个子节点,根据不同的要求可以有多个子节点,典型如 B树2. 二叉树2.1 红黑树红黑树(Red-Black Tree,简称R-B Tree),是一种特殊的二叉查...原创 2019-09-20 16:45:42 · 5091 阅读 · 0 评论