//暴力法 时间复杂度 O(m * n) //根据排序的规律观察,得到类似2叉搜索树的解法 O(m + n) class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { //判空 if(matri ...
分类:
编程语言 时间:
2020-12-17 12:41:42
阅读次数:
1
问题: 给定一颗BST(二叉搜索树),其中存在两个节点顺序颠倒,请找出他们,并恢复正确次序。 Example 1: Input: root = [1,3,null,null,2] Output: [3,1,null,null,2] Explanation: 3 cannot be a left ch ...
分类:
其他好文 时间:
2020-12-09 12:24:32
阅读次数:
5
非商业,LeetCode链接附上: https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/ 进入正题。 题目: 给定一棵二叉搜索树,请找出其中第k大的节点。 示例: 示例 1: 输入: root = [ ...
分类:
其他好文 时间:
2020-12-07 12:37:30
阅读次数:
6
Leetcode 108 将有序数组转换为二叉搜索树 数据结构定义: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是: ...
分类:
编程语言 时间:
2020-12-05 11:08:08
阅读次数:
9
有了二叉搜索树为什么还要红黑树,以下面几个例子举例,如下面的二叉树可以达到很好的搜索效果 5 7 11 15 19 21 25 26 61 99 再看下面这棵树,我们将下面的数据按从左至右的顺序构造一棵二叉搜索树 15 13 16 11 9 7 5 3 按照之前我们二叉搜索树构建构建的方式,我们将得 ...
分类:
编程语言 时间:
2020-12-03 12:28:09
阅读次数:
15
108. 将有序数组转换为二叉搜索树 Difficulty: 简单 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树_每个节点 _的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是 ...
分类:
编程语言 时间:
2020-12-01 12:09:01
阅读次数:
6
一、什么是牵引值 类似于书中目录,方便快速查找自己想要内容 二、有什么用 为了加快查询速度对表字段赋值的标识!经常用于查询,排列,对重复数据用处不大! 三、常见牵引值 哈希表 有序数组 搜索树 ...
分类:
数据库 时间:
2020-11-25 12:24:18
阅读次数:
11
1、深度优先搜索dfs 在搜索树上的表现形式为先序遍历。 2、广度优先搜索bfs 在搜索树上的表现形式为层序遍历。 3、记忆化搜索 在某些位置需要被多次计算时,记录第一次计算的答案,后续可以省去重复计算的复杂度。 4、剪枝 搜索的瓶颈毫无疑问在于时间,合理的剪枝可以提高时效,有时候甚至可以牺牲一些正 ...
分类:
其他好文 时间:
2020-11-25 12:19:56
阅读次数:
4
在二叉搜索树查找(请戳我)一文中主要介绍了二叉搜索树的查找,本文将继续介绍其插入和删除操作。二叉搜索树的插入和删除关键在于在插入和删除的过程中如何继续保持二叉搜索树的性质。二叉搜索树结点定义如下:typedefstructBSTreeNode{Typekey;//关键字(键值)structBSTreeNode*left;//左孩子structBSTreeNode*right;//右孩子struct
分类:
编程语言 时间:
2020-11-23 12:28:22
阅读次数:
8
给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1: 输入: 2 / \ 1 3输出: true示例 2: 输入: 5 / \ 1 4 / \ ...
分类:
其他好文 时间:
2020-11-19 12:14:56
阅读次数:
5