索引是什么 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。 可以得到索引的本质:索引是数据结构,索引的目的是提高查询效率,可以类比英语新华字典,根据目录定位词语 如果没有目录呢,就需要从A到Z,去遍历的查找一遍,一个一个找和直接根据目录定位到数据,差的就是天 ...
分类:
数据库 时间:
2020-07-29 10:02:38
阅读次数:
66
1.可持久化线段树 又称主席树,因为发明这一算法的人的名字缩写为HJT。 主席树可以储存各个历史状态,如果用普通线段树,每个状态都是 4n 的,内存和时间开销极大,而主席树通过动态开点,先继承上一状态的左右儿子节点指针,再进行修改,每次修改的时间和空间都可以优化到 \(\log n\) 级别。 通过 ...
分类:
其他好文 时间:
2020-07-28 22:48:06
阅读次数:
88
邻接表储存结构 /*邻接表的边*/ typedef struct ArcNode { int adjvex; struct ArcNode *next; }ArcNode; /*邻接表的结点*/ typedef struct VNode { char date; ArcNode *firstarc; ...
分类:
编程语言 时间:
2020-07-28 17:32:12
阅读次数:
91
思路: 公共祖先需要分为三种情况: 1.pq包含在root的左右子树中,则root就是他们公共祖先 2.pq包含在root的右子树中,则公共祖先是右子树 3.pq包含在root的左子树中,则公共祖先在左子树 代码: /** * Definition for a binary tree node. * ...
分类:
其他好文 时间:
2020-07-28 17:01:57
阅读次数:
59
概念 线段树是一棵二叉树,线段是上每个结点对应的是序列的一段区间。如图(以下图片为引用) 容易发现,根节点对应的是整个区间[0,n-1].若一个结点对应的区间为[l,r],当l=r时,它是一个叶结点,没有左右儿子;否则他一定有两个儿子,令mid=(l+r)/2,则左儿子对应的区间为[l,mid],右 ...
分类:
其他好文 时间:
2020-07-28 16:49:56
阅读次数:
55
稀疏数组 ps:记录韩顺平数据结构与算法 一、需求分析 因为二维数组的很多值是默认值0,因此记录了很多没有意义的数据,可采用稀疏数组解决此问题。 二、基本介绍 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: 1)记录数组一共有几行几列,有多 ...
分类:
编程语言 时间:
2020-07-28 13:57:53
阅读次数:
69
1.1题目 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7],返回它的最大深度 3 。 1.2解答 很显然是二叉树的遍历问题。遍历每个点然后返回当前点的深 ...
分类:
其他好文 时间:
2020-07-28 10:07:40
阅读次数:
59
从上到下打印二叉树,引用辅助队列。 C++版本 #include <iostream> #include <vector> #include <stack> #include <cstring> #include <queue> #include <algorithm> using namespac ...
分类:
其他好文 时间:
2020-07-28 10:00:15
阅读次数:
73
转自: 微信公众号 "Java3y" 这里说一下 Java 中的各种 O(bject)。 有哪些 O? 这些 O 有很多衍生出的命名,比如 VO、DO、BO,这里我们把常见的 O 列举出来,然后一一解释。 以下内容参考阿里巴巴 Java 开发手册,如果有需要可以在微信公众号「01 二进制」后台回复「 ...
分类:
其他好文 时间:
2020-07-28 09:58:28
阅读次数:
94
题目链接 uoj#182 前言 刚看到题以为是毒瘤数据结构,没想到是毒瘤多项式...... 题意 给定一个$n$个元素的序列{\(a_n\)},有$2$种操作: $1.$ 给序列中的每个数加$x$ $2.$ 将序列中的每个数变为其逆元(保证此时每个数存在逆元) 现在有$m$次操作,求每次操作后序列的 ...
分类:
其他好文 时间:
2020-07-28 00:29:28
阅读次数:
88