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

时间复杂度分析Tworst(N)

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

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

一次二分剩下:N/2

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

...

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

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

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

所以由上式可得 :

2M = N

M = log2N

相关推荐
小尧嵌入式10 小时前
在windows上安装ffmpeg及新版ffmpeg命令
c++·windows·算法·ffmpeg
beordie10 小时前
LeetCode 1. 两数之和 | 从暴力到哈希表的优化之路
算法
free-elcmacom10 小时前
机器学习进阶<5>K-means智能客户分群与可视化分析系统
算法·机器学习·kmeans
csuzhucong10 小时前
海盐折纸
算法
oioihoii10 小时前
单链表与双链表专题详解
数据结构·算法
晞微10 小时前
神经网络学习:感知器算法实现与可视化
神经网络·学习·算法
AndrewHZ10 小时前
【图像处理基石】RGB图像频域滤波:原理、实现与实战(Python)
图像处理·python·算法·计算机视觉·傅里叶变换·频域滤波·滤波核设计
EXtreme3510 小时前
栈(Stack)的约束之美:LIFO哲思、实现剖析与算法应用全景深度解析
数据结构·算法··共享栈·链栈·lifo·表达式求值
wefg110 小时前
【算法】深度优先遍历/搜索(递归、回溯、剪枝)
算法
月亮!10 小时前
当技术中立性遇上算法偏见:软件测试者的伦理启示
网络·人工智能·python·测试工具·算法·安全·开源