|
|
- '''
- Sends array, searchValue, arraySize as input.
- Returns the index of the searchValue in the array
- '''
- def jumpSearch(arr , x , n ):
- # Finding block size to be jumped
- step = math.sqrt(n)
-
- # Finding the element
- prev = 0
- while arr[int(min(step, n)-1)] < x:
- prev = step
- step += math.sqrt(n)
- if prev >= n:
- return -1
-
- # Doing a linear search
- while arr[int(prev)] < x:
- prev += 1
-
- if prev == min(step, n):
- return -1
-
- if arr[int(prev)] == x:
- return prev
-
- return -1
|