O(n) 和O(log2n)是什么意思?在长度为n的有序线性表中进行二分查找,最坏情况下的比较次数应该 是n 可是为什么书上的答案是 O(log2n)?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 06:12:59

O(n) 和O(log2n)是什么意思?在长度为n的有序线性表中进行二分查找,最坏情况下的比较次数应该 是n 可是为什么书上的答案是 O(log2n)?
O(n) 和O(log2n)是什么意思?
在长度为n的有序线性表中进行二分查找,最坏情况下的比较次数应该 是n 可是为什么书上的答案是 O(log2n)?

O(n) 和O(log2n)是什么意思?在长度为n的有序线性表中进行二分查找,最坏情况下的比较次数应该 是n 可是为什么书上的答案是 O(log2n)?
是有序线性表,二分查找,不可能比较n次啊,比较n次你等于是把整个线性表遍历了一遍.二分查找每次可以排除一半元素.
比如123456789,你要找2,首先查中间元素5,大于2,所以直接排除掉5右边的6789
然后在1234里继续二分查找.
每次排除1/2的元素,所以是O(log2n)