码迷,mamicode.com
首页 > 其他好文 > 详细

大O表示法__二分查找

时间:2020-01-13 23:45:48      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:复杂   个数   需要   过程   log   二分   二次   它的   nbsp   

例如,有1~8,查找其中的一个数,

  1. 如果采用简单查找,也就是遍历方法,从1开始,最多可能需要查找8次。为什么呢?
    假设这个数字是8,从1开始,依次2,3,4,。。。,直至8,查找次数确实为8次。
  2. 采用二分方法,最多需要查找3次。为什么呢?
    仍然假设这个数字是8,将1~8从中间分开,假设第一次猜测为5,反馈比5大,于是第二次猜测为5~8之间的数,由于5和6相邻,于是猜测为7,反馈结果仍然比7大,第三次猜测为8,命中。
    假设这个数字为6,重复二分过程,第一次猜测为5,反馈比5大,第二次猜测为7,反馈比7小,于是第三次猜测为6,命中。
    设定其余数字为目标数,仍然可以按二分法减少猜测次数。

总结,这就是二分查找。它的查找次数需要多少次呢?

二分也就是相当于,将多少个2相乘的结果为8,于是 2= 8,即 Log28 = 3

假设,在n个自然数中进行查找,如果采用简单查找,需要查询n次,时间复杂度为O(n);如果采用二分查找法,需要查询log2n次,时间复杂度为O(log2n)。

大O表示法__二分查找

标签:复杂   个数   需要   过程   log   二分   二次   它的   nbsp   

原文地址:https://www.cnblogs.com/dogfaraway/p/12189831.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!