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

时间复杂度分析Tworst(N)

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

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

一次二分剩下:N/2

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

...

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

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

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

所以由上式可得 :

2M = N

M = log2N

相关推荐
无尽的罚坐人生6 分钟前
hot 100 543. 二叉树的直径
数据结构·算法·leetcode
wuqingshun31415910 分钟前
蓝桥杯 契合匹配
算法
进击的小头15 分钟前
第5篇:最优控制问题的组成
python·算法
轻颂呀15 分钟前
排序——堆排序
数据结构·算法
WolfGang00732117 分钟前
代码随想录算法训练营 Day07 | 字符串 part01
数据结构·算法·leetcode
luckycoding18 分钟前
488. 祖玛游戏
算法·游戏·深度优先
8Qi824 分钟前
LeetCode61. 旋转链表
c语言·数据结构·c++·算法·leetcode·链表·力扣
眼眸流转26 分钟前
LeetCode热题100(一)
算法·leetcode
渡过晚枫28 分钟前
[第十六届蓝桥杯/java/算法]1.偏蓝
java·算法·蓝桥杯
2501_9403152632 分钟前
【无标题】1302 层数最深叶子节点的和
java·数据结构·算法