给定一个有序数组和一个目标值,以下哪种算法可以在最坏情况下提供O(log n)的时间复杂度来查找目标值是否存在?

答案解析

此题考察对各种查找算法时间复杂度的理解。 A选项错误,因为线性查找的时间复杂度为O(n)。 B选项正确,因为二分查找在有序数组中查找目标值的时间复杂度为O(log n)。 C选项错误,插值查找的时间复杂度在最好情况下为O(log log n),但在最坏情况下可能退化到O(n)。 D选项错误,斐波那契查找的时间复杂度在最好情况下为O(log n),但在最坏情况下可能接近O(2n)。 正确答案是B,因为二分查找在有序数组中查找目标值时,无论最好还是最坏情况,时间复杂度都为O(log n)。
正确答案:B
随机推荐
开始刷题