1.快速检索和最后回归到二分检索的快速检索
如果由于某些原因,数组长度未知,快速检索可以识别初始的搜索域。这个算法从第一个元素开始,一直加倍(*2)搜索域的上界,直到这个上界已经大于待查关键字。上界的增长如图。
之后,根据实现不同,或者采用标准的二分检索查找,或者开始另一轮的快速检索。前者可以保证O(log(n)) 的运行时间,后者则更接近O(n)的运行时间。如果我们要找的元素比较接近数组的开头,快速检索就非常有效。
总结:查找的元素在开头位置,快速检索很有效。次轮搜索使用二分法运行时间为O(log(n)),使用快速检索,运行时间接近线性。
2插值检索和最后回归到顺序查找的插值检索