| @ -0,0 +1,27 @@ | |||||
| ''' | |||||
| 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 | |||||