top of page

Binary Search Algorithm

About the Algorythm Recipe 🍰

This function takes a sorted array (arr) and a target element (target) as input. It then iteratively divides the search space in half until it finds the target element or concludes that it's not present in the array. If the target element is found, the function returns its index; otherwise, it returns -1.

Cookin' time! 🍳



def binary_search(arr, target):

    """

    Perform binary search on a sorted array to find the target element.

    

    Args:

    - arr: Sorted list or array to search within.

    - target: Element to search for.

    

    Returns:

    - Index of the target element if found, else -1.

    """

    left, right = 0, len(arr) - 1

    

    while left <= right:

        mid = left + (right - left) // 2

        

        # Check if target is present at mid

        if arr[mid] == target:

            return mid

        

        # If target is greater, ignore left half

        elif arr[mid] < target:

            left = mid + 1

        

        # If target is smaller, ignore right half

        else:

            right = mid - 1

            

    # If target is not found in the array

    return -1

# Example usage:

arr = [2, 3, 4, 10, 40]

target = 10

result = binary_search(arr, target)

if result != -1:

    print("Element is present at index", result)

else:

    print("Element is not present in array")


bottom of page