소스 검색

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)

불러오는 중...
취소
저장