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)