Python 二分查找算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 二分查找算法相关的知识,希望对你有一定的参考价值。

一、解释

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

二、实例 

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 二分查找算法的主要内容,如果未能解决你的问题,请参考以下文章

Python 算法之二分查找

算法图解(二分查找)

python数据结构与算法第十四天二分查找

二分查找算法(Python)

二分查找算法(Python)

自学Python3.6-算法 二分查找算法