From e372bbe6f70caa113caccd6c8d66533856aec227 Mon Sep 17 00:00:00 2001 From: marina <138340846+bt3gl-cryptographer@users.noreply.github.com> Date: Mon, 7 Aug 2023 21:47:06 -0700 Subject: [PATCH] Update binary_search.py --- searching/binary_search.py | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/searching/binary_search.py b/searching/binary_search.py index f5f6776..fb8052f 100644 --- a/searching/binary_search.py +++ b/searching/binary_search.py @@ -12,14 +12,14 @@ def binary_search_recursive(array, item, higher=None, lower=0): mid = (higher + lower) // 2 - if item == array[mid]: + if item == array[mid]: return mid elif item < array[mid]: return binary_search_recursive(array, item, mid - 1, lower) else: - return binary_search_recursive(array, item, =higher, mid + 1) + return binary_search_recursive(array, item, higher, mid + 1) def binary_search_iterative(array, item): @@ -29,7 +29,7 @@ def binary_search_iterative(array, item): lower, higher = 0, len(array) - while lower <= higher: + while lower < higher: mid = (higher + lower) // 2 if array[mid] == item: @@ -47,7 +47,7 @@ def binary_search_iterative(array, item): def binary_search_matrix(matrix, item, lower=0, higher=None): if not matrix: - return None + return False rows = len(matrix) cols = len(matrix[0]) @@ -57,25 +57,12 @@ def binary_search_matrix(matrix, item, lower=0, higher=None): mid = (higher + lower) // 2 row = mid // cols col = mid % cols - item = matrix[row][col] - if item == item: + if item == matrix[row][col]: return row, col - elif item < item: + elif item < matrix[row][col]: return binary_search_matrix(matrix, item, lower, mid - 1) else: return binary_search_matrix(matrix, item, mid + 1, higher) - return None - - -if __name__ == '__main__': - - array = [2, 3, 5, 6, 8, 10, 15, 23] - matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] - item = 15 - - print('Recursive: ', binary_search_recursive(array, item)) - print('Iterative: ', binary_search_iterative(array, item)) - print('Matrix: ', binary_search_matrix(matrix, item)) - + return False