1.顺序表查找又称线性查找,是最基本最简单的查找技术,它从表中的第一个或最后一个开始逐个与给定项比对。

2.有序表查找:对线性表做了有序排列后再做查找。常用的方法有折半查找(二分查找)、插值查找、斐波那契查找等。

3.索引查找

事实上服务器等的数据增长非常快,这种海量数据通常是按时间先后顺序存储的,对其排序的代价高昂。对于这样的查找表一般使用索引技术。索引就是把一个关键字与它对应的记录相关联的过程,是组织大型数据库和磁盘文件的重要技术,可分为线性索引、树形索引、多级索引;这里仅介绍线性索引。所谓线性索引就是将索引项集合组织成线性结构,也称为索引表。下面是三种线性索引技术。

3.1稠密索引

数据集中的每个记录都对应一个索引项,且稠密索引表的索引项一定是按照关键码有序排列的,这样就可以使用折半、插值、斐波那契等查找方法。

3.2分块索引

为减少索引表中索引项的个数,可先对数据分块,使分块有序,然后对每个块建立索引。这里需要注意的是:块内可以无序但块间必须有序,这样就可以利用查找算法了。一般分块索引的索引项结构包含三个数据项:最大关键码(有序排列)、块长、块首指针。

在分块索引表中进行查找时先用折半等算法找到记录所在的块,在块内由于是无序对 只能用顺序查找。分块查找普遍应用于数据库中。

3.3倒排索引

倒排索引用于根据属性(关键字)的值来查找记录,这种索引表中的每一项都包含一个属性值和具有该属性值的记录的地址。因为是由属性值来确定记录的位置,所以称为倒排索引。