牛骨文教育服务平台(让学习变的简单)
博文笔记

python实现二分查找

创建时间:2016-03-14 投稿人: 浏览次数:365
def find(nums,num):
    start=0
    end=len(nums)
    while start<=end:
        mid=(start+end)/2
        if nums[mid]>num:
            end=mid-1
        elif nums[mid]<num:
            start=mid+1
        else:
            return mid
print find([1,2,3,4,5,6,7],3)

def find1(nums,num,start,end):
    if start<=end:
        mid=(start+end)/2
        if(nums[mid]>num):
            return find1(nums,num,start,mid-1)
        elif(nums[mid]<num):
            return find1(nums,num,mid+1,end)
        else:
            return mid
print find1([1,2,3,4,5,6,7],6,0,7)
            

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。