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

时间复杂度分析Tworst(N)

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

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

一次二分剩下:N/2

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

...

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

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

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

所以由上式可得 :

2M = N

M = log2N

相关推荐
努力学算法的蒟蒻24 分钟前
day11(11.11)——leetcode面试经典150
算法·leetcode·面试
im_AMBER27 分钟前
Leetcode 51
笔记·学习·算法·leetcode·深度优先
做怪小疯子34 分钟前
LeetCode 热题 100——哈希——字母异位词分组
算法·leetcode·哈希算法
Einsail1 小时前
贪心算法,优先队列(大小根堆使用)
算法·贪心算法
小欣加油1 小时前
leetcode 474 一和零
c++·算法·leetcode·职场和发展·动态规划
一只老丸2 小时前
HOT100题打卡第36天——二分查找
数据结构·算法
陌路203 小时前
S19 哈希--6种哈希构造方法
算法·哈希算法
散峰而望3 小时前
C++入门(算法) - 习题
开发语言·c++·算法·github
这张生成的图像能检测吗3 小时前
(论文速读)Regor - 渐进式对应点再生实现鲁棒3D配准
人工智能·算法·计算机视觉·配准·3d点云