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

时间复杂度分析Tworst(N)

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

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

一次二分剩下:N/2

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

...

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

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

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

所以由上式可得 :

2M = N

M = log2N

相关推荐
jiang_bluetooth33 分钟前
奈奎斯特第一准则理解和WIFI OFDM的关联
算法
DuHz8 小时前
论文精读:大语言模型 (Large Language Models, LLM) —— 一项调查
论文阅读·人工智能·深度学习·算法·机器学习·计算机视觉·语言模型
加农炮手Jinx8 小时前
LeetCode 72. Edit Distance 题解
算法·leetcode·力扣
借雨醉东风8 小时前
程序分享--常见算法/编程面试题:旋转矩阵
c++·线性代数·算法·面试·职场和发展·矩阵
_深海凉_8 小时前
LeetCode热题100-打家劫舍
算法·leetcode·职场和发展
jghhh019 小时前
使用 MATLAB 实现支持向量回归 (SVR) 预测未来数据
算法·matlab
云泽8089 小时前
笔试算法 - 双指针篇(二):四大经典求和题型 + 有效三角形计数问题
c++·算法
刀法如飞11 小时前
【合并已排序数组的三种实现策略,哪一种更可取?】
算法·程序员
王老师青少年编程11 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【区间贪心】:种树
c++·算法·贪心·csp·信奥赛·区间贪心·种树
hi_ro_a11 小时前
C++ 哈希表封装 unordered_map /unordered_set
数据结构·c++·算法·哈希算法