1:题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树: 5 / \ 2 6 / \ 1 3 示例 1: 输入: [1,6,3,2,5] 输出: false 示例 2: ...
分类:
其他好文 时间:
2020-03-20 10:35:46
阅读次数:
43
二叉搜索树中第K小的元素。题目即是题意。例子, Example 1: Input: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 Output: 1 Example 2: Input: root = [5,3,6,2,4,null,null,1], k = 3 ...
分类:
其他好文 时间:
2020-03-20 09:21:35
阅读次数:
64
https://juejin.im/post/5d4a7559f265da03e05afcb4 为什么需要B树和B+树 我们常用的二叉搜索树的结构是红黑树,包括面试中红黑树被问到的几率也更大。甚至Java中的HashMap里面的实现也是红黑树,课件红黑树的强大和其广泛的适用性。那么为什么还要发明出b ...
分类:
其他好文 时间:
2020-03-16 17:45:38
阅读次数:
56
一:解题思路 方法一:递归法 Time:O(n),Space:O(log(n)) 方法二:迭代法 Time:O(n),Space:O(n) 二:完整代码示例 (C++版和Java版) C++递归: class Solution { public: TreeNode* sortedArrayToBST ...
分类:
编程语言 时间:
2020-03-16 17:41:52
阅读次数:
67
DFS算法:一种用于遍历或搜索树或图的算法。 沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过或者在搜寻时结点不满足条件,搜索将回溯到发现节点v的那条边的起始节点。整个进程反复进行直到所有节点都被访问为止。属于盲目搜索,最糟糕的情况算法时间复杂度为O(!n)。 DFS算 ...
分类:
其他好文 时间:
2020-03-15 23:44:28
阅读次数:
70
react 组件是非常常用的,写组件时要考虑值得边界问题。比如,默认值问题。 有时 我们使用别人的组件 或者 别人使用我们写的组件漏掉一个 props值可能就会引发问题,导致无法运行项目。这就需要花时间去找问题。 简单组件还好,复杂逻辑得可能就很费时间,因此给组件设置默认值,就很有必要。设置默认值也 ...
分类:
其他好文 时间:
2020-03-15 19:17:40
阅读次数:
189
1 二叉排序树/二叉查找树/Binary Sort Tree + 1种对排序和查找都很有用的特殊二叉树 + 叉排序树的弊端的解决方案:平衡二叉树 + 二叉排序树必须满足的3条性质(或是具有如下特征的二叉树) + 若它的左子树不为空,则:左子树上所有结点的值< 它根结点的值 + 若它的右子树不为空,则 ...
分类:
编程语言 时间:
2020-03-15 13:28:13
阅读次数:
87
1、映射Map,存储键值数据对的数据结构(key,value),可以根据键key快速寻找到值Value,可以使用链表或者二分搜索树实现的。 首先定义一个接口,可以使用链表或者二分搜索树进行实现。 1 package com.map; 2 3 /** 4 * @ProjectName: dataCon ...
分类:
其他好文 时间:
2020-03-15 11:49:53
阅读次数:
53
数组 数组表示二叉树: root left:root 2+1 right:root 2+2 比如 0号节点的左孩子是1 右孩子是2 1号节点的左孩子是3 右孩子是4 2号节点的左孩子是5 右孩子是6 1、定义结构体 2、找树的最小值和最大值的节点位置 3、插入节点 4、判断节点是否存在 5、中序遍历 ...
分类:
编程语言 时间:
2020-03-15 11:45:50
阅读次数:
62
DFS使用c++中的stack,BFS使用c++中的queue 1 #include <iostream> 2 #define MAX_VERTS 20 3 #include <stack> 4 #include <queue> 5 6 using namespace std; 7 8 class ...
分类:
其他好文 时间:
2020-03-14 20:24:01
阅读次数:
68