Quick actions

cmd+k|ctrl+k

Navigation

Languages

Binary Search

Snippet info

Language

Python

Visibility

public

Author

apizzimenti

Created

2016-05-17T04:48:45Z

Updated

2016-05-17T14:27:05Z


a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]

def binary(num, seq):
    min = 0
    max = len(seq) - 1
    step = 0
    
    while True:
        if max < min:
            return -1
        
        mid = (min + max) // 2
        
        step += 1
        print("step {0}: checking element {1}".format(step, mid + 1))
        
        if seq[mid] < num:
            min = mid + 1
        elif seq[mid] > num:
            max = mid - 1
        else:
            print("found it!")
            return

binary(3, a)
INFO