''' 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