经典算法_二分查找_Python

2018-07-06  本文已影响0人  SomeBodyMissing

二分查找(Binary Search):这是一种效率相对较高的查找算法。

# 问题:

        给定一个待查找的目标值,target,和一个数组,Array。我们想要在这个数组中找到目标值所在位置。

# 分析:

        自然,我们可以遍历整个数组,如果查到目标值,那就返回对应的索引位置,但这样数组很大的时候,时间开销也会很大。很明显,这是一种比较笨的直脑筋方法。

        So,二分查找可以挺身而出。(BS需要数组是事先排好序的)

        首先,我们找到数组Array的中间位置K,其次,将target与Array[K]对比,如果想等,那直接返回K即可;如果不等,将分成两种情况:

        a、target < Array[K],则,我们可以继续在Array[0,...,K]之间再次进行BS算法;

        b、target > Array[K],则, 我们可以继续在Array[K+1:]之间进行BS算法;

思想阐述完毕,代码时间来到~~~

# 版本1:数组中没有重复元素

#版本2 : 数组中包含重复值

上一篇 下一篇

猜你喜欢

热点阅读