问题 单项选择题

在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是

A.0(n)

B.O(n2)

C.D(10g2n)

D.O(nlog2n)

答案

参考答案:C

解析: 二分查找法的基本思想是将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2],则找到x,算法终止;如果x<a[n/2],则只要在数组的左半部继续搜索x(假设数组元素是按升序排列的);如果x>a[n/2],则只要在数组的右半部继续搜索x。每次余下n/2i个元素待比较,当最后剩下一个时,即n/2i=1。故n=2i;所以i=log2n。

单项选择题
单项选择题