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

时间复杂度分析Tworst(N)

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

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

一次二分剩下:N/2

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

...

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

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

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

所以由上式可得 :

2M = N

M = log2N

相关推荐
superkcl20228 分钟前
指针常量有什么用呢?
开发语言·c++·算法
华清远见成都中心9 分钟前
嵌入式春招笔试高频算法题(附解题思路)
算法
像污秽一样14 分钟前
算法设计与分析-习题9.1
数据结构·算法·dfs·dp·贪婪
無限進步D19 分钟前
差分算法 cpp
c++·算法·蓝桥杯·竞赛
星空露珠39 分钟前
迷你世界UGC3.0脚本Wiki生物模块管理接口 Monster
开发语言·数据结构·算法·游戏·lua
星空露珠39 分钟前
迷你世界UGC3.0脚本Wiki世界模块管理接口 World
开发语言·数据库·算法·游戏·lua
阿贵---40 分钟前
C++中的装饰器模式
开发语言·c++·算法
放下华子我只抽RuiKe541 分钟前
机器学习核心算法全景指南
人工智能·python·深度学习·算法·机器学习·机器人·交互
FluxMelodySun42 分钟前
机器学习(二十四) 降维 : MDS降维方法与线性降维方法
人工智能·算法·机器学习
setmoon2141 小时前
C++中的装饰器模式高级应用
开发语言·c++·算法