码迷,mamicode.com
首页 > 编程语言 > 详细

Python 二分查找算法

时间:2017-07-31 14:49:01      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:bsp   bin   ret   sea   理解   pytho   style   查找算法   基于   

一、解释

二分法:可以理解为折半查找法,每一次都是基于上一次的折半查找

二、实例 

l = [1,2,5,7,10,31,44,47,56,99,102,130,240]
#l为查找的列表
#num要查找的数
def binary_search(l,num):
    print(l) #[10, 31]
    if len(l) > 1:
        mid_index=len(l)//2 #1
        if num > l[mid_index]:
            #in the right
            l=l[mid_index:] #l=[31]
            binary_search(l,num)
        elif num < l[mid_index]:
            #in the left
            l=l[:mid_index]
            binary_search(l,num)
        else:
            print(find it)
    else:
        if l[0] == num:
            print(find it)
        else:
            print(not exist)
        return

binary_search(l,32)
 

Python 二分查找算法

标签:bsp   bin   ret   sea   理解   pytho   style   查找算法   基于   

原文地址:http://www.cnblogs.com/liuxiaowei/p/7262621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!