指数搜索
注意 如果你不知道什么是二叉搜索,那么首先请你在这里看一下二叉搜索算法。 指数搜索,也被称为加倍搜索或手指搜索,是一种用于在大型数组中搜索元素而创建的算法。它是一个两步走的过程。首先,该算法试图找到目标元素存在的范围 (L,R),然后在这个范围内使用二叉搜索来寻找目标的准确位置。 之所以命名为指数搜索,是因为它通过搜索索引 pow(2,k) 中哪个元素的第一个指数 k 大于目标元素,从而找到范围内的持有元素。虽然它的名字叫指数搜索,但这个算法的时间复杂度是对数的。当数组是无限大小时,它非常有用,而且收敛到解的速度比二叉搜索快得多。