大O表示法__二分查找
Posted dogfaraway
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大O表示法__二分查找相关的知识,希望对你有一定的参考价值。
例如,有1~8,查找其中的一个数,
- 如果采用简单查找,也就是遍历方法,从1开始,最多可能需要查找8次。为什么呢?
假设这个数字是8,从1开始,依次2,3,4,。。。,直至8,查找次数确实为8次。 - 采用二分方法,最多需要查找3次。为什么呢?
仍然假设这个数字是8,将1~8从中间分开,假设第一次猜测为5,反馈比5大,于是第二次猜测为5~8之间的数,由于5和6相邻,于是猜测为7,反馈结果仍然比7大,第三次猜测为8,命中。
假设这个数字为6,重复二分过程,第一次猜测为5,反馈比5大,第二次猜测为7,反馈比7小,于是第三次猜测为6,命中。
设定其余数字为目标数,仍然可以按二分法减少猜测次数。
总结,这就是二分查找。它的查找次数需要多少次呢?
二分也就是相当于,将多少个2相乘的结果为8,于是 23 = 8,即 Log28 = 3
假设,在n个自然数中进行查找,如果采用简单查找,需要查询n次,时间复杂度为O(n);如果采用二分查找法,需要查询log2n次,时间复杂度为O(log2n)。
以上是关于大O表示法__二分查找的主要内容,如果未能解决你的问题,请参考以下文章