【算法】二分查找时间复杂度分析

时间复杂度分析Tworst(N)

显然,每次迭代在循环内的所有工作花费为O(1)。

二分查找每次排除掉一半的不适合值,所以对于N个元素的情况:

一次二分剩下:N/2

两次二分剩下:N/2/2 = N/4

...

M次二分剩下:N/(2M)

在最坏情况下是在排除到只剩下最后一个值之后得到结果,即

N/(2M) = 1``(此时剩下的一个元素必定是要查找的元素)```

所以由上式可得 :

2M = N

M = log2N

相关推荐
Sunhen_Qiletian7 小时前
YOLOv2算法详解(上篇):从经典到进化的目标检测之路
算法·yolo·目标检测
QTreeY1237 小时前
detr目标检测+deepsort/strongsort/bytetrack/botsort算法的多目标跟踪实现
人工智能·算法·yolo·目标检测·计算机视觉·目标跟踪
AiXed7 小时前
PC微信协议之nid算法
python·网络协议·算法·微信
谈笑也风生7 小时前
经典算法题之子集(四)
算法
mit6.8248 小时前
划分dp+滑窗+前缀和|deque优化
算法
Zach_yuan8 小时前
算法1111
算法
不穿格子的程序员9 小时前
从零开始刷算法——二分-搜索旋转排序数组
数据结构·算法
做怪小疯子9 小时前
LeetCode 热题 100——哈希——最长连续序列
算法·leetcode·哈希算法
做怪小疯子9 小时前
LeetCode 热题 100——双指针——三数之和
算法·leetcode·职场和发展
高山上有一只小老虎10 小时前
等差数列前n项的和
java·算法