折半查找的最坏情况下的时间复杂度是怎么推出来的?求具体过程!
发布网友
发布时间:2022-05-02 16:09
我来回答
共1个回答
热心网友
时间:2022-06-20 19:52
二分查找因为每次都是从中间点开始查找,所以最坏情况是目标元素存在于最边缘的情况。
比如1~9,最坏情况就是1或者9,当然4,6这种也算是边缘(中心的边缘)。
因为二分查找每次排除掉一半的不适合值,所以对于n个元素的情况:
一次二分剩下:n/2
两次二分剩下:n/2/2 = n/4
。。。
m次二分剩下:n/(2^m)
在最坏情况下是在排除到只剩下最后一个值之后得到结果,所以为
n/(2^m)=1;
2^m=n;
所以时间复杂度为:log(n)
原创,望采纳。