From e01431302021a81a9cc7a4d5910f1e74b68e31c5 Mon Sep 17 00:00:00 2001 From: Gborgman05 Date: Thu, 24 Dec 2020 00:32:41 -0800 Subject: [PATCH] added binary search --- SEARCHING/python/binary_search.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 SEARCHING/python/binary_search.py diff --git a/SEARCHING/python/binary_search.py b/SEARCHING/python/binary_search.py new file mode 100644 index 00000000..d5fafa3c --- /dev/null +++ b/SEARCHING/python/binary_search.py @@ -0,0 +1,18 @@ +def binary_search(array: list, target: int) -> bool: + """ searches through a sorted list to find a target integer """ + mid = len(array) // 2 + if len(array) < 1: + return False + if len(array) == 1: + return array[0] == target + if array[mid] < target: + return binary_search(array[mid:], target) + elif array[mid] > target: + return binary_search(array[:mid], target) + else: + return True + +if __name__ == "__main__": + print(binary_search([1, 2, 3, 4, 5], 1)) + print(binary_search([0, 4, 10, 1000], 10)) + print(binary_search([], -2)) \ No newline at end of file