首页 > 后端开发 > Python教程 > python二分法查找

python二分法查找

高洛峰
发布: 2016-12-19 16:32:33
原创
2143 人浏览过

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

#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)

登录后复制

运行测试结果:

1

2

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

3

登录后复制


更多python二分法查找相关文章请关注PHP中文网!

相关标签:
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板