问题
单项选择题
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是
A.O(n)
B.O(n2)
C.O(log2n)
D.O(nlog2n)
答案
参考答案:C
解析: 二分查找法也称为折半查找法。它的基本思想是:将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x进行比较,如果x=a[n/2],则找到x,算法终止;如果x<a[n/2],则要在数组a的左半部继续搜索x(这里假设数组元素呈升序排列);如果x>a[n/2],则要在数组a的右半部继续搜索x。每次余下n/(2i)个元素待比较,当最后剩下一个时,即n/(2i)=1。故,n=2i;所以i=log2n。