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

时间复杂度分析Tworst(N)

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

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

一次二分剩下:N/2

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

...

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

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

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

所以由上式可得 :

2M = N

M = log2N

相关推荐
啊哦呃咦唔鱼2 分钟前
LeetCode hot100-15 三数之和
数据结构·算法·leetcode
_日拱一卒4 分钟前
LeetCode(力扣):杨辉三角||
算法·leetcode·职场和发展
rqtz7 分钟前
基于I2C总线的IMU-磁力计融合算法与数据共享
算法·iic·espidf·qmc5883p·icm42670p·imu磁力计融合
leluckys13 分钟前
算法-链表-二、成对交换两个节点
数据结构·算法·链表
小糯米60122 分钟前
C++ 排序
c++·算法·排序算法
未来之窗软件服务31 分钟前
幽冥大陆(一百12)js打造json硬件管道——东方仙盟筑基期
开发语言·javascript·算法·json·仙盟创梦ide·东方仙盟·东方仙盟算法
放下华子我只抽RuiKe51 小时前
AI大模型开发-实战精讲:从零构建 RFM 会员价值模型(进阶挑战版)
人工智能·深度学习·算法·机器学习·数据挖掘·数据分析·聚类
Nontee1 小时前
Leetcode Top100答案和解释 -- Python版本(链表)
算法·leetcode·链表
niuniudengdeng2 小时前
六面独立转动魔方还原机器人设计与实现
数学·算法·机器人