Binary search algorithm in python

前端 未结 14 1141
别那么骄傲
别那么骄傲 2020-12-01 11:23

I am trying to implement the binary search in python and have written it as follows. However, I can\'t make it stop whenever needle_element is larger than the largest elemen

14条回答
  •  伪装坚强ぢ
    2020-12-01 11:53

    def binary_search(array, target):
        low = 0
        mid = len(array) / 2
        upper = len(array)
    
        if len(array) == 1:
            if array[0] == target:
                print target
                return array[0]
            else:
                return False
        if target == array[mid]:
            print array[mid]
            return mid
        else:
            if mid > low:
                arrayl = array[0:mid]
                binary_search(arrayl, target)
    
            if upper > mid:
                arrayu = array[mid:len(array)]
                binary_search(arrayu, target)
    
    if __name__ == "__main__":
        a = [3,2,9,8,4,1,9,6,5,9,7]
        binary_search(a,9)
    

提交回复
热议问题