首页 > 编程语言 > 详细

Python 二分查找算法

时间:2017-07-31 13:59:38      阅读:243      评论:0      收藏:0      [点我收藏+]

一、解释

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

二、实例 

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 二分查找算法

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!