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

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

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

2018-03-30 算法 :查找简介_第1张图片

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

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

2018-03-30 算法 :查找简介_第2张图片


有序表查找

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

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

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


线性索引查找

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

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

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

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

你可能感兴趣的:(2018-03-30 算法 :查找简介)