一、线性搜索
原理:搜索从头开始,一直往后找,直到找到想要找的数据为止。
算法原理和实现都很简单,但是复杂度随着数据的增长线性增长。
二、二分查找
原理:在已经排序的数据列中,将要查找的数据与数据列中最中间的值进行比较,缩小一半的范围,然后与在这一半的范围的中间数据再次比较,以此类推,直到找到想要找到的数据。
算法原理和实现都很简单,效率也很高,但是前提是要求查找的数据列已经排好序。
三、插值查找
原理:改进二分查找,使比较的数据和要查找的数据更接近。
解释:http://www.cnblogs.com/maybe2030/p/4715035.html#_label6
对于表长较大,而关键字分布又比较均匀的查找表来说,插值查找算法的平均性能比折半查找要好的多。反之,数组中如果分布非常不均匀,那么插值查找未必是很合适的选择。
四、