Repository where I mostly put random python scripts.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

33 lines
517 B

def search(arr, l, r, x):
if r >= l:
m = (l+r)/2
if arr[m] == x:
return m
if arr[m] > x:
return search(arr, l, m-1, x)
else:
return search(arr, m, r, x)
return -1
def exponentialSearch(arr, n, x):
if arr[0] == x:
return 0
i = 1
while i<n and arr[i] <=x:
i = i*2
return search(arr, i/2, min(n, i), x)
arr = [2, 3, 4, 7, 10, 40]
n = len(arr)
x = 10
r = exponentialSearch(arr, n, x)
if r == -1:
print "Element not found"
else:
print "Element is present at index %d" %(r)