
二叉树
digitaluser
这个作者很懒,什么都没留下…
展开
-
三十张图彻底理解红黑二叉树
介绍红黑二叉树比较透彻的文章转载 2020-06-02 14:57:24 · 256 阅读 · 0 评论 -
红黑二叉树的理解
这篇文章对红黑二叉树的解释比较易懂,需要时参考。https://www.jianshu.com/p/e136ec79235c转载 2020-05-20 11:40:32 · 351 阅读 · 0 评论 -
经典算法恢复二叉搜索树
1、题目描述二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例 1:示例 2:进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗?2、我的代码/** * Definition for a binary tree node. * struct TreeNode { * int val; * ...原创 2020-05-07 13:49:08 · 297 阅读 · 0 评论 -
经典算法序列化和反序列化二叉搜索树
1、题目描述序列化是将数据结构或对象转换为一系列位的过程,以便它可以存储在文件或内存缓冲区中,或通过网络连接链路传输,以便稍后在同一个或另一个计算机环境中重建。设计一个算法来序列化和反序列化二叉搜索树。 对序列化/反序列化算法的工作方式没有限制。 您只需确保二叉搜索树可以序列化为字符串,并且可以将该字符串反序列化为最初的二叉搜索树。编码的字符串应尽可能紧凑。注意:不要使用类成员/全局/静态...原创 2020-05-05 21:25:59 · 230 阅读 · 0 评论 -
经典算法删除二叉搜索树中的节点
1、题目描述给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:2、我的代码/** * Definition for a ...原创 2020-05-04 20:22:45 · 483 阅读 · 0 评论 -
经典算法二叉搜索树中第k小的元素
1、题目描述给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。进阶:如果二叉搜索树经常被修改(插入/删除操作)并且你需要频繁地查找第 k 小的值,你将如何优化 kthSmallest 函数?2、我的代码/** * Definition for a binary tree ...原创 2020-05-02 18:53:30 · 572 阅读 · 0 评论 -
经典算法不同的二叉搜索树
1、题目描述给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树:1 3 3 2 1\ / / / \ 3 2 1 1 3 2/ / ...原创 2020-05-02 18:07:22 · 488 阅读 · 0 评论 -
经典算法将有序数组转成二叉搜索树
1、题目描述将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \-3 9/ /-10 52、我的代码...原创 2020-04-28 17:24:59 · 311 阅读 · 0 评论 -
经典算法验证二叉搜索树
1、题目描述给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入:2/ 1 3输出: true示例 2:输入:5/ 1 4/ 3 6输出: false解释: 输入为: [5,1,4,null...原创 2020-04-28 15:44:06 · 221 阅读 · 0 评论