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

时间复杂度分析Tworst(N)

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

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

一次二分剩下:N/2

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

...

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

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

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

所以由上式可得 :

2M = N

M = log2N

相关推荐
梵刹古音6 小时前
【C语言】 字符数组相关库函数
c语言·开发语言·算法
wfeqhfxz258878212 小时前
YOLO13-C3k2-GhostDynamicConv烟雾检测算法实现与优化
人工智能·算法·计算机视觉
Aaron158813 小时前
基于RFSOC的数字射频存储技术应用分析
c语言·人工智能·驱动开发·算法·fpga开发·硬件工程·信号处理
_不会dp不改名_14 小时前
leetcode_3010 将数组分成最小总代价的子数组 I
算法·leetcode·职场和发展
你撅嘴真丑16 小时前
字符环 与 变换的矩阵
算法
早点睡觉好了16 小时前
重排序 (Re-ranking) 算法详解
算法·ai·rag
gihigo199817 小时前
基于全局自适应动态规划(GADP)的MATLAB实现方案
算法
ctyshr17 小时前
C++编译期数学计算
开发语言·c++·算法
zh_xuan18 小时前
最小跳跃次数
数据结构·算法
yumgpkpm18 小时前
2026软件:白嫖,开源,外包,招标,晚进场(2025年下半年),数科,AI...中国的企业软件产业出路
大数据·人工智能·hadoop·算法·kafka·开源·cloudera