美文网首页
经典算法_二分查找_Python

经典算法_二分查找_Python

作者: SomeBodyMissing | 来源:发表于2018-07-06 11:43 被阅读0次

    二分查找(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 : 数组中包含重复值

    相关文章

      网友评论

          本文标题:经典算法_二分查找_Python

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