`
sls0919
  • 浏览: 123103 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

python二分法查找

阅读更多

下面是一段用Python实现的二分法查找代码

#encoding=utf-8

import sys

def search2(a,m):
    low = 0
    high = len(a) - 1
    while low<=high:
        mid = (low + high)/2
        midval = a[mid]

        if midval<m:
            low = mid + 1
        elif midval>m:
            high = mid-1
        else:
            print mid
            return mid
    print -1
    return -1

if __name__ == "__main__":

    a = [int(i) for i in list(sys.argv[1])]
    m = int(sys.argv[2])
    search2(a,m)

运行测试结果:

shao@ubuntu:~/tmp$ python test_search2.py 123456789 4
3 

 

1
2
分享到:
评论

相关推荐

    python二分法查找算法实现方法【递归与非递归】

    主要介绍了python二分法查找算法实现方法,结合实例形式分析了Python使用递归与非递归算法实现二分查找的相关操作技巧,需要的朋友可以参考下

    非线性方程求根——二分法python

    采用二分法查找时,数据需是排好序的。 基本思想:假设数据是按升序排序的,对于给定值key,从序列的中间位置k开始比较, 如果当前位置arr[k]值等于key,则查找成功; 若key小于当前位置值arr[k],则在数列的前半段...

    python二分法实现实例

    1.算法:(设查找的数组期间为array[low, high]) (1)确定该期间的中间位置K(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.array[k]&gt;T 由...

    学学Python_34函数_创建函数04 二分法查找

    二分法查找,文章:https://blog.csdn.net/yysyangyangyangshan/article/details/83834022

    python有序查找算法 二分法实例解析

    这篇文章主要介绍了python有序查找算法 二分法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 二分法是一种快速查找的方法,时间复杂度低,逻辑简单...

    Python实现二分法搜索

    Python实现二分法搜索 二分法是一种效率比较高的搜索方法,时间复杂度为 O(log2n) 。 假设有一个1~100之间的数字,你来猜这个数是多少,每猜一次可以得到三种回答:正确、大了或小了。如何保证用最少的次数猜对?...

    Python有序查找算法之二分法实例分析

    本文实例讲述了Python有序查找算法之二分法。分享给大家供大家参考,具体如下: 二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2… ...二分法查找非常快且非常常用,但是唯

    Python实现二分法算法实例

    1.算法:(设查找的数组期间为array[low, high]) (1)确定该期间的中间位置K (2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。.../usr/bin/python # -*- c

    Python笔记—递归 二分法从列表找指定的值.7z

    文件名:Python笔记—递归 二分法从列表找指定的值. 配合博客地址:https://blog.csdn.net/XianZhe_/article/details/107771584 为在学习Python时所整理制作的笔记文件

    python二分查找算法的递归实现方法

    本文实例讲述了python二分查找算法的递归实现方法。分享给大家供大家参考,具体如下: 这里先提供一段二分查找的代码: def binarySearch(alist, item): first = 0 last = len(alist)-1 found = False while ...

    人工智能-项目实践-python-顺序表、链表、栈、队列、树、Hashmap等数据结构;排序、二分法查找、树遍历等常见算法实现

    排序、二分法查找、树遍历等常见算法实现python语言实现 常见数据结构 顺序表 Python中的list和tuple两种类型采用了顺序表的实现技术 链表 单向链表 双向链表 单向循环链表 栈 队列 FIFO队列 LIFO队列 优先队列...

    Python低内耗读取文件的二分查找单词

    NULL 博文链接:https://834945712.iteye.com/blog/1864624

    折半查找4.py 使用python实现的

    折半查找 折半查找4.py 使用python实现的 折半查找4.py 使用python实现的 折半查找4.py 使用python实现的 折半查找4.py 使用python实现的

    python实现二分查找算法

    二分查找算法:简单的说,就是将一个数组先排序好,比如按照从小到大的顺序排列好,当给定一个数据,比如target,查找target在数组中的位置时,可以先找到数组中间的数array[middle]和target进行比较,当它比target...

    PYTHON小白求助,关于使用函数归递法进行列表的二分法

    我的想法是函数中有两个变量,第一个是需要查找的数字,第二个是列表。 当用户输入数字时,函数执行结果是这个数字在列表中的索引。 a = [1, 3, 4, 6, 7, 8, 9, 11, 15, 17, 19, 21, 22, 25, 29, 33, 38, 69, 107] ...

    Python bisect模块原理及常见实例

    1. bisect模块为内置标准库,它实现了二分法查找算法(只要提到二分法查找,应该优先想到此模块) 2. 主要包含有两个函数:bisect函数(查找元素)和insort函数(插入元素)。 2. 常用方法介绍 场景1:已知一个有序列表,...

Global site tag (gtag.js) - Google Analytics