HackChart
12/22/2019 - 7:41 AM

Recursive Binary Search

Binary search algorithm written using recursion. Returns True if the searchTerm is found within the searchList. Returns False if it is not.

def recursive_binary_search(searchList, searchTerm):
    searchList.sort()

    if len(searchList) == 0:
        return False

    middle = len(searchList) // 2
    
    if searchList[middle] == searchTerm:
        return True
    elif searchTerm < searchList[middle]:
        return recursive_binary_search(searchList[:middle], searchTerm)
    else:
        return recursive_binary_search(searchList[middle + 1:], searchTerm)