Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Recursive binary search
- def binarySearch (arr, l, r, x):
- # Check base case
- if r >= l:
- mid = l + (r - l)/2
- # If element is present at the middle itself
- if arr[mid] == x:
- return mid
- # If element is smaller than mid, then it
- # can only be present in left subarray
- elif arr[mid] > x:
- return binarySearch(arr, l, mid-1, x)
- # Else the element can only be present
- # in right subarray
- else:
- return binarySearch(arr, mid+1, r, x)
- else:
- # Element is not present in the array
- return -1
- # Test array
- arr = [10, 20, 30, 40, 50, 60, 70, 80, 90]
- x = 40
- # Function call
- result = binarySearch(arr, 0, len(arr)-1, x)
Add Comment
Please, Sign In to add comment