基本查询方法的时间复杂度
2016-06-05 22:37
218 查看
算法 | 最好情况 | 最好时间复杂度 | 最坏情况 | 最坏情况复杂度 | 平均时间 |
---|---|---|---|---|---|
顺序表查找 | 元素在第一个 | O(1) | 元素在最后一个 | O(n) | O(n) |
折半查询 | 元素在中间 | O(1) | 元素在两头 | O(logn) | O(logn) |
插值查询 | 元素在第一个插值处 | O(1) | 元素在两头 | O(logn) | O(logn) |
斐波纳挈数列查询 | 元素在第一个黄金分割点处 | O(1) | 元素在两头 | O(logn) | O(logn) |
插值查询:mid=low+key−a[low]a[high]−a[low](high−low)
斐波纳挈查询:mid=low+F[k−1]−1
索引
稠密索引:在线性索引中,将数据集中的每个记录对应一个索引项
索引项一定是按照关键码有序的排序树
分块索引:块内无序,块间有序,复杂度O(n−−√)
倒排索引
相关文章推荐
- C++第七次实验
- vim配置入门,到豪华版vim配置
- 3374 String Problem
- 1、TCL脚本基本语法(概要)
- 静态库和动态库的区别
- android 界面布局 很好的一篇总结
- Linux下的第一步——进度条(gcc&Makefile)
- C++作业7
- c++作业7
- C/C++值传递,指针传递和引用传递的概念
- vim简易教程
- Exchange 2010 PS之New-SendConnector&get-SendConnector&Set-sendConnector!
- c++拾遗-----内存模型
- Android Studio教程从入门到精通
- Chapter 2. C++程序设计入门
- net core VS goang web
- vue简单使用
- openmp在图像处理上面的运用
- NOSql之redis的学习
- sql语句判断两个时间段是否有交集