说白了,索引问题就是一个查找问题。。。 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查 ...
分类:
数据库 时间:
2019-08-14 14:39:24
阅读次数:
83
1.什么是索引? 何为索引: 数据库索引,是数据库管理系统中一个排序的数据结构,索引的实现通常使用B树及其变种B+树。 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。 2.索引的作 ...
分类:
数据库 时间:
2019-08-06 10:40:57
阅读次数:
114
索引基础 索引介绍 定义 索引是满足某种特定查找算法的数据结构。这些数据结构会以某种方式指向数据,从而实现高效查找。 优势 提高了查询速度 劣势 降低更新表的速度,因为更新表时,MySQL不仅要保存数据,还要保存索引文件。 建立索引会占用磁盘空间的索引文件。 索引分类 主键索引 根据主键pk_col ...
分类:
数据库 时间:
2019-08-05 15:58:59
阅读次数:
139
斐波那契查找 斐波那契查找也是折半查找的一种改良版;斐波那契查找最主要的就是找mid这个点; 在该种查找算法中,我们要找的mid这个点为数组中的黄金分割点,要求黄金分割点 我们就要用到斐波那契数列了;我们可以看一下这个数列:1,1,2,3,5,8,13,21,34,55..........; 可以看 ...
分类:
其他好文 时间:
2019-08-05 12:17:09
阅读次数:
407
介绍完数组和链表,以及两个特殊的线性结构栈和队列后,已经算是迈入了数据结构的门了,后面很多其他更复杂的数据结构都会基于数组和链表来实现,比如散列表、树、图等,有些甚至需要结合数组和链表来实现,在继续介绍后续复杂的数据结构之前,我们穿插进来一些常见的排序算法和查找算法,在系统介绍这些算法之前,我们先来 ...
分类:
其他好文 时间:
2019-08-03 13:02:19
阅读次数:
89
质因数分解的复杂是公认,这也是我们将他作为 RSA (一种广泛使用的公钥加密算法)的数学难题的原因。 $N=P Q$ (P、Q是质数),n = length of N in bit 对于这么一个N,我们因数分解得到结果的时间复杂度是 $2^n$ ,因为这个复杂,所以也有一堆的数学家在努力降低这个的时 ...
分类:
编程语言 时间:
2019-08-02 18:27:33
阅读次数:
150
重点 查找算法着重掌握:顺序查找、二分查找、哈希表查找、二叉排序树查找。 排序算法着重掌握:冒泡排序、插入排序、归并排序、快速排序。 顺序查找 算法说明 顺序查找适合于存储结构为顺序存储或链接存储的线性表。 算法思想 顺序查找也称为线形查找,属于无序查找算法。从数据结构线形表的一端开始,顺序扫描,依 ...
分类:
编程语言 时间:
2019-07-28 13:46:10
阅读次数:
96
转自:二分查找算法模板 二分模板一共有两个,分别适用于不同情况。算法思路:假设目标值在闭区间[l, r]中, 每次将区间长度缩小一半,当l = r时,我们就找到了目标值。 版本1当我们将区间[l, r]划分成[l, mid]和[mid + 1, r]时,其更新操作是r = mid或者l = mid ...
分类:
编程语言 时间:
2019-07-16 20:19:19
阅读次数:
135
查找算法介绍 在java中,我们常用的查找有四种: 1)线性查找算法 示例: 有一个数列: {1,8, 10, 89, 1000, 1234} ,判断数列中是否包含此名称【顺序查找】 要求: 如果找到了,就提示找到,并给出下标值。 思路:将数列遍历匹配,就是用for循坏遍历,if匹配数据,找到下标值 ...
分类:
编程语言 时间:
2019-07-07 14:39:58
阅读次数:
158