From 958c1d6331a6966d9c6275622a4bb06dc01b597f Mon Sep 17 00:00:00 2001 From: Austin Melancon <121523987+armelan1@users.noreply.github.com> Date: Mon, 10 Mar 2025 20:36:18 -0700 Subject: [PATCH 1/2] merge_sort practice --- merge_sort.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 merge_sort.py diff --git a/merge_sort.py b/merge_sort.py new file mode 100644 index 0000000000..9acd437aa1 --- /dev/null +++ b/merge_sort.py @@ -0,0 +1,32 @@ +def merge_sort(A): + if len(A) > 1: + mid = len(A) // 2 + B = A[:mid] + C = A[mid:] + merge_sort(B) + merge_sort(C) + + i = j = k = 0 + + while i < len(B) and j < len(C): + if B[i] < C[j]: + A[k] = B[i] + i += 1 + else: + A[k] = C[j] + j +=1 + k += 1 + + while i < len(B): + A[k] = B[i] + i += 1 + k += 1 + + while j < len(C): + A[k] = C[j] + j += 1 + k += 1 + +A = [9,8,7,6,5,4,3,2,1] +merge_sort(A) +print(A) \ No newline at end of file From 9e45e5cde6961f19ed81cd28d080c1474ee115fa Mon Sep 17 00:00:00 2001 From: Austin Melancon <121523987+armelan1@users.noreply.github.com> Date: Tue, 11 Mar 2025 08:46:46 -0700 Subject: [PATCH 2/2] Create binary_search.py practice binary search --- binary_search.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 binary_search.py diff --git a/binary_search.py b/binary_search.py new file mode 100644 index 0000000000..c2b1c51c5f --- /dev/null +++ b/binary_search.py @@ -0,0 +1,24 @@ +def binary_search(arr, target): + left = 0 + right = len(arr) - 1 + mid = left + (right - left) // 2 + print("left: ", left) + print("right: ", right) + print("mid: ", mid) + while left <= right: + if arr[mid] == target: + return mid + elif arr[mid] < target: + left = mid + 1 + else: + right = mid - 1 + mid = left + (right - left) // 2 + # print("left: ", left) + # print("right: ", right) + # print("mid: ", mid) + return -1 + +arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14] +target = 4 +mid = binary_search(arr, target) +print("target index: ", mid)