单条件查询: db.getCollection('task').find({"id": "dc717654-dc45-4bf9-8e8a-1f1b146d6524"}) 单条件查询(属性为叶子节点) db.getCollection('archive_result').find({"results. ...
分类:
数据库 时间:
2020-07-01 16:06:36
阅读次数:
84
$\text$我来啦我来啦 \(\text{Solution:}\) 题目要求求好几个串串的$\text$ 由于串串的数量并不多,所以我们把它们塞到一个$\text$里面,中间加上分隔符号。 那么答案就是最深的且它的子树中具有所有分节符的非叶子节点。 至于分节符数量和种类,用前缀和即可。 介于$\t ...
分类:
其他好文 时间:
2020-06-26 14:56:32
阅读次数:
46
1. 索引树高度(1) 表的数据量: 数据量越大,树的高度就会变高,理论上三层索引树的高度最为理想,可以支持百万级别的数据量解决办法: 可以使用分表(横切,竖切),分库,增加缓存,解决数据量大,查询慢 (2) 索引键值过长: 该索引字段存储数据太大,每个叶子节点最大存储16k,超过这个范围会新增加叶 ...
分类:
数据库 时间:
2020-06-24 20:12:29
阅读次数:
85
记录一下自己理解的堆和堆排序吧。 堆是一种类似于完全二叉树的树形结构,对于二叉树中所有非叶子节点,如果根节点的值严格大于其两个儿子的值,则称为 大顶堆,反之称为小顶堆。 堆排序的一般步骤: 首先利用已有的数据构造一个堆,大顶堆增序,小顶堆降序。 将堆顶的元素与堆末元素交换,接着重新调整除去堆末元素的 ...
分类:
编程语言 时间:
2020-06-22 20:59:19
阅读次数:
91
$\text$序列,是树与序列的一种双射。 ##构建过程: 每次找到一个编号最小的叶子节点$Leaf$,将它删掉,并将它所连接的点的度数$-1$,且加入$\text$序列。 重复上述步骤,直到只剩下两个点。 ##实现: 考虑如何实现。 最朴素的显然每次暴力找,复杂度$O(n^2).$显然不够优秀。 ...
分类:
其他好文 时间:
2020-06-21 18:13:00
阅读次数:
67
组合模式 面对这样一种问题,可能List里面套List,是一种如下的树形数据结构 简单来说,叶子节点才是实际对象,其他都是一个集合 这时候就需要组合模式 组合模式将对象组合成树形结构以表示"部分-整体"的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。 想表示对象的部分-整体层次结构 ...
分类:
其他好文 时间:
2020-06-21 10:12:29
阅读次数:
75
LeetCode-257-二叉树的所有路径 题目 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", "1->3"] 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3 ...
分类:
其他好文 时间:
2020-06-20 16:53:29
阅读次数:
44
两次$DFS$ \(O(n)\) 第一次随机从一个点出发,寻找距离当前点,最远的一个叶子节点,命名为$rt$ 然后从 \(rt\) 出发,寻找距离$rt$ 最远的一个叶子节点,这段距离就是树的直径 #include <bits/stdc++.h> using namespace std; const ...
分类:
其他好文 时间:
2020-06-18 23:22:42
阅读次数:
95
package com.example.demo; import java.util.LinkedList; /** * 112. 路径总和 * 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 * <p> * 说明: 叶子节点是指没有子节点 ...
分类:
其他好文 时间:
2020-06-16 12:55:12
阅读次数:
52
题目描述 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2. 题目链接: https: ...
分类:
其他好文 时间:
2020-06-15 23:16:51
阅读次数:
86