Advertisement

二分查找法已被超越:采用快速及插值检索

阅读量:

1.快速检索和最后回归到二分检索的快速检索

[

2

【](http://jbcdn2.b0.upaiyun.com/2014/07/665f644e43731ff9db3d341da5c827e14.png "击败二分检索算法——插值检索、快速检索")

当数组长度无法确定时,快速检索算法能够自动识别初始的搜索范围。该方法从数组的第一个元素出发,持续将搜索范围的上限翻倍(即乘以2),直至该上限超过目标关键字。在此过程中,上限的增长趋势如图所示。

随后,依据具体的实现方式,可以选择执行标准的二分查找,或者继续进行下一轮的快速检索。若选择前者,则可确保算法的时间复杂度保持在O(log(n));而后者的时间复杂度则更接近于O(n)。对于那些位于数组起始位置附近的待查元素而言,快速检索展现出较高的效率优势。

总结:当目标元素处于数组的起始位置时,快速检索方法具有显著效果。若在第二轮搜索中采用二分法,则时间复杂度为O(log(n));而继续使用快速检索方法,则其运行时间将趋于线性增长。

2插值检索和最后回归到顺序查找的插值检索

[

![4](http://jbcdn2.b0.upa

全部评论 (0)

还没有任何评论哟~