美文网首页
查找/索引技术

查找/索引技术

作者: BlueFishMan | 来源:发表于2020-06-23 10:24 被阅读0次
查找算法 平均时间复杂度 空间复杂度 查找条件
顺序查找 O(n) O(1) 无序/有序
二分查找 O(log2n) O(1) 有序
二叉排序树 O(log2n)~O(n)
平衡二叉树 O(log2n)
红黑树 O(log2n)
哈希查找 O(1) O(n) 无序/有序
2-3树 O(log2n-log3n)
B树/B+树 O(log2n)

查找技术(内存)

线性表的查找技术

顺序查找(sequential search)

二分查找(binary search)

lower_bound

对于给定的一个值,在一个排序后的区间中找到第一个这样的位置,使得将这个值插入到这个位置前面时,不会破坏顺序

auto i = lower_bound(a.begin(), a.end(), 1);
cout << *i << endl;

upper_bound

对于给定的一个值,在一个排序后的区间中找到最后一个这样的位置,使得将这个值插入到这个位置前面时,不会破环顺序

auto i = upper_bound(a.begin(), a.end(), 2);
cout << *i << endl;

equal_range

对于给定的一个值,在一个排序后的区间中找到一个最大的区间,使得将这个值插入其中的任何位置,都不会破坏顺序

auto j = equal_range(a.begin(), a.end(), 3);
cout << *(j.first) << ' ' << *(j.second) << endl;

binary_search

如果排序后的区间中包含了与给定的值相同的值,则返回true,否则返回false

binary_search(a.begin(), a.end(), 4);

树表的查找技术

二叉排序树(binary sort tree)

左子树<结点<右子树

  • 中序遍历

平衡二叉树(balance binary tree)

AVL树 -> |左子树深度-右子树深度| <= 1

  • 整体平衡

红黑树(red-black tree)

  • 局部平衡

散列表的查找技术

索引技术(文件系统/数据库系统)

线性索引

树形索引

2-3树(2-3 tree)

  • 一个结点包含一个或者两个关键码
  • 每个内部结点有2个子女(包含一个关键码)或者3个子女(包含两个关键码)
  • 所有叶子结点都在树的同一层

B树(B-tree)

一种平衡的多路查找树,主要面向动态查找,通常用在文件系统中

B+树(B+tree)

  • 终端结点存储记录(关键码和指向实际记录的指针),内部结点存储关键码(用于引导查找)
  • 终端结点链接成链表,通过访问链表中的所有终端结点,就可以按照排序的顺序遍历全部记录
  • select

相关文章

  • 查找/索引技术

    查找算法平均时间复杂度空间复杂度查找条件顺序查找O(n)O(1)无序/有序二分查找O(log2n)O(1)有序二叉...

  • MySQL面试题

    索引 索引原理 常用的索引模型有哈希索引,有序数组,搜索树。哈希索引,适合等值查找,范围查找会触发全表扫描有序数组...

  • 总结js数组方法

    位置方法: indexOf(查找值)//默认从索引0开始查找 indexOf(查找值,从哪里开始找(索引)) la...

  • 索引查找

    索引查找是在索引表和主表上进行的查找,主表是线性表。先按照给定的哈希算法(比如value%100)对每一个valu...

  • 具体算法8 - 索引的方方面面

    本章关键词 索引、查找、需求 索引是软件编写中非常重要的技术,今天这一节我们就回顾一下那些可以用于索引的数据结构,...

  • Mysql-基础篇(2)-索引原理

    目录: 1、索引1.1、索引图解1.2、索引类型 2、索引存储模型推演2.1. 二分查找2.2. 二叉查找树(BS...

  • 创建高性能的索引笔记

    B树索引是按顺序组织的,因此适合查找范围数据B树索引适合全键值,键值范围和键前缀查找。 全文索引 索引的优点索引可...

  • 查找

    线性查找方式顺序查找 Sequential Search折半查找 Binary Search索引查找 Indexi...

  • 查找算法-索引查找

    实际上,很多数据集可能增长非常快。例如空间动态信息等, 对于这样的查找表,我们若是保证记录全部按照当中某个关键字有...

  • MySQL之:索引

    索引 索引是特殊数据结构:定义在查找时作为查找条件的字段 索引实现在存储引擎 优点:索引可以降低服务需要扫描的数据...

网友评论

      本文标题:查找/索引技术

      本文链接:https://www.haomeiwen.com/subject/jnpcfktx.html