美文网首页
二分的时间复杂度计算

二分的时间复杂度计算

作者: 万里凪 | 来源:发表于2019-09-29 17:41 被阅读0次

二分查找的时间复杂度求导过程

1.设T(n)为求出规模为n问题的时间复杂度
2.O(1)表示用一次将规模为 n 的问题化为规模为 n / 2 的问题

那么我们有:

T(n) = T(n / 2) + O(1) * 1
     = T(n / 4) + O(1) * 2
     = T(n / 8) + O(1) * 3
     = T(n / 16) + O(1) * 4

设O(1)的系数是 x, 则可知 x 为将 T(n) 转化为 T(1) 的次数;
则:

  n(1 / 2) ^ x = 1
  (1 / 2) ^ x = 1 / n
  log(2)(n) = x

所以:

  T(n) = T(1) + O(1) * log(2)(n)
  T(n) = T(1) + O(log(2)(n))

因为T(1)在此问题中表示获取值,即T(1) = O(1)

  T(n) = O(1 + log(2)(n))

只取高次项,所以

  T(n) = O(log n)

因为T(n)表示的是求解规模为n问题的时间复杂度
所以二分查找的时间复杂度为O(log n)

相关文章

  • 数据结构与算法

    参考文档《算法图解》《计算机算法设计与分析》 简单查找 时间复杂度 空间复杂度 java Demo 二分查找 时间...

  • 快排查找第k大的数

    时间复杂度 时间复杂度与二分查找很相似, 都是只找一边. 但是快排不平衡, 且快排需要计算轴心位置. 二分查找的时...

  • 二分的时间复杂度计算

    二分查找的时间复杂度求导过程 1.设T(n)为求出规模为n问题的时间复杂度2.O(1)表示用一次将规模为 n 的问...

  • 算法初步

    时间复杂度 时间复杂度是用来估计算法运行时间的式子(单位)。 时间复杂度小结 空间复杂度 用来计算一个算法临时占用...

  • 程序设计与算法(一) 第十一周

    二分查找 程序或算法的时间复杂度 一个程序或算法的时间效率,也称“时间复杂度”,有时简称“复杂度” 复杂度常用大的...

  • LeetCode 35. 搜索插入位置

    题目描述 题解 两次遍历 时间复杂度为,空间复杂度为。 一次遍历 时间复杂度为,空间复杂度为。 二分法 时间复杂度...

  • 数据结构与算法 - 时间复杂度与空间复杂度

    前言 时间复杂度:时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的最大次数。空间复杂度:类似于时间...

  • 查找算法

    查找算法 顺序查找法 时间复杂度:O(n) 二分法查找 二分法查找适用于有顺序的序列 时间复杂度:O(n) 核心思...

  • 总结八

    时间复杂度 由上图,可见,O(1) 最小,O(logn) 次之,比如二分查找就是 O(logn) 时间复杂度可见 ...

  • 学习笔记2020-06-05

    1、基本函数类 2、指数和阶乘公式 3、序列求和的方法 4、二分搜索的时间复杂度的计算和放大法 5、策略模式 1、...

网友评论

      本文标题:二分的时间复杂度计算

      本文链接:https://www.haomeiwen.com/subject/fdfqpctx.html