diff --git a/Binary Search b/Binary Search new file mode 100644 index 0000000..669b122 --- /dev/null +++ b/Binary Search @@ -0,0 +1,54 @@ +# Returns index of x in arr if present, else -1 + +def binary_search(arr, low, high, x): + + if high >= low: + mid = (high + low) // 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 binary_search(arr, low, mid - 1, x) + + + + # Else the element can only be present in right subarray + + else: + + return binary_search(arr, mid + 1, high, x) + + + + else: + + # Element is not present in the array + + return -1 + + + +arr = [ 2, 3, 4, 10, 40 ] + +x = 10 +result = binary_search(arr, 0, len(arr)-1, x) +if result != -1: + + print("Element is present at index", str(result)) + +else: + + print("Element is not present