From e01431302021a81a9cc7a4d5910f1e74b68e31c5 Mon Sep 17 00:00:00 2001 From: Gborgman05 Date: Thu, 24 Dec 2020 00:32:41 -0800 Subject: [PATCH 1/2] 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 From 06a16e8bd412801ea6290497adfe4f590cb48e3f Mon Sep 17 00:00:00 2001 From: Gborgman05 Date: Thu, 24 Dec 2020 00:35:55 -0800 Subject: [PATCH 2/2] added newline at end of file --- SEARCHING/python/binary_search.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SEARCHING/python/binary_search.py b/SEARCHING/python/binary_search.py index d5fafa3c..6e15a22f 100644 --- a/SEARCHING/python/binary_search.py +++ b/SEARCHING/python/binary_search.py @@ -15,4 +15,4 @@ def binary_search(array: list, target: int) -> bool: 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 + print(binary_search([], -2))