是否可以通过将循环变量递增 2 而不是 1 来在 O(log n) 时间内执行线性搜索?

Can linear search be executed in a O(log n) time by incrementing the loop variable by 2 instead of 1?

代码中的关键更改可能类似于:

// while loop from 0 to n - 2; i initially = 0
if( arr[i + 1] != element && arr[i] != element) i += 2; 
else if(arr[i] == element){ cout << "Element present at: " << i; }  
else{ cout << "Element is present at: " << i + 1; return 0; } 

你怎么看?

答案是否定的。在最坏的情况下,您必须查看每个元素,并且有 n 个元素。