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

时间复杂度分析Tworst(N)

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

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

一次二分剩下:N/2

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

...

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

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

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

所以由上式可得 :

2M = N

M = log2N

相关推荐
mit6.82418 分钟前
二分+贪心
算法
programhelp_1 小时前
特斯拉 MLE 超详细面经 + 避坑
数据结构·人工智能·算法·面试·职场和发展
越甲八千1 小时前
深入了解迭代器erase()之后的失效逻辑
算法
躺柒1 小时前
读人工智能全球格局:未来趋势与中国位势06人类的未来(下)
大数据·人工智能·算法·ai·智能
L_Aria2 小时前
6421. 【NOIP2019模拟11.11】匹配
c++·算法·动态规划
骇城迷影2 小时前
代码随想录:哈希表篇
算法·哈希算法·散列表
智者知已应修善业3 小时前
【PAT乙级真题解惑1012数字分类】2025-3-29
c语言·c++·经验分享·笔记·算法
每天要多喝水3 小时前
动态规划Day30:买卖股票
算法·动态规划
v_for_van3 小时前
力扣刷题记录6(无算法背景,纯C语言)
c语言·算法·leetcode
-To be number.wan3 小时前
算法学习日记 | 双指针
c++·学习·算法