2018-03-30 算法 :查找简介

世界上没有最好的算法,只有最合适的算法

查找算法:静态查找,动态查找

静态查找(一般使用线性表)的分类:

顺序查找 O(N),无序表


有序表查找

折半查找O(log2N)    low与high的下标相同时,退出

插值查找(比例查找),如果数据增长很均匀,效率非常高 。O(log2N)   ,两种查找的mid取值不同

斐波那契查找,生成斐波那契数列,分割点按照斐波那契数列的值来进行取分割


线性索引查找

索引是对于无序存储的数据,建立索引,相当于变成有序的,索引里会存储对应的数据的地址以及关键码。

稠密索引:(妈妈的小本子)对关键码进行排序的叫做稠密索引,但是当数据是海量数据时,对于关键码的排序也是复杂的,效果性能反而可能下降,因为会反复读取硬盘以及内存(每一条数据对应一条关键码)

分块索引:(图书馆找书)快间有序,块内无序

倒排索引:(搜索引擎搜索原理),为什么叫倒排索引呢,因为之前的查找都是根据记录的值来生成找关键字,然后找到这个关键字,而倒排索引是先生成关键字,根据关键字的数量,自动生成记录,所以不需要查找记录,所以这个效率非常高 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文出处:http://www.cnblogs.com/maybe2030/p/4715035.html引文出处:...
    明教de教主阅读 9,220评论 0 7
  • 目录 [1. 顺序查找][2. 二分查找][3. 插值查找][4. 斐波那契查找][5. 树表查找][6. 分块查...
    jiangmo阅读 17,826评论 4 6
  • 本文的整理基于:http://blog.csdn.net/qq_23217629/article/details/...
    阿阿阿阿毛阅读 1,617评论 0 3
  • 一、相关定义 查找——查找就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。所有这些...
    开心糖果的夏天阅读 1,180评论 0 8
  • 你一眼看到尽头 灰色的天空下 是索然无味的未来 通向那里的路 冗长而遥远 没有鲜花 风在你耳边恣意轻舞 它原来在嘲...
    江小昨阅读 192评论 0 3