Преглед изворни кода

added exponential searching algo

pull/34/head
Jyotika пре 4 година
родитељ
комит
b8de724277
1 измењених фајлова са 33 додато и 0 уклоњено
  1. +33
    -0
      searching_algo/exponentialSearch.py

+ 33
- 0
searching_algo/exponentialSearch.py Прегледај датотеку

@ -0,0 +1,33 @@
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)

Loading…
Откажи
Сачувај