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

时间复杂度分析Tworst(N)

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

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

一次二分剩下:N/2

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

...

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

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

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

所以由上式可得 :

2M = N

M = log2N

相关推荐
weixin_4684668515 小时前
SURF 图像特征提取算法新手实战指南
图像处理·人工智能·算法·机器视觉·surf·sift
weixin_4684668516 小时前
支持向量机新手实战指南
人工智能·python·算法·机器学习·支持向量机
weixin_4684668517 小时前
机器学习之决策树新手实战指南
人工智能·python·算法·决策树·机器学习·ai
wanghu202417 小时前
ABC460_E题题解
c++·算法
z2005093017 小时前
今日算法(回溯子集)
数据结构·算法·leetcode
Hesionberger17 小时前
巧用异或找出唯一数字(多解)
java·数据结构·python·算法·leetcode
变量未定义~17 小时前
阶乘的约数和、斐波那契数列、数列区间最大值(ST表)
数据结构·算法
智者知已应修善业17 小时前
【51单片机象棋快棋赛 电子裁判器】2023-12-27
c++·经验分享·笔记·算法·51单片机
晚风予卿云月17 小时前
二分算法练习
数据结构·c++·算法·竞赛·算法随笔
菜菜的顾清寒17 小时前
力扣HOT100(47) 二叉树的层序遍历
算法·leetcode·深度优先