From a9274b776ba3901c533054544fee932f53d59cdc Mon Sep 17 00:00:00 2001 From: Soumya Ranjan Bharati <70058643+Soumya-Ranjan-Bharti@users.noreply.github.com> Date: Wed, 30 Sep 2020 19:37:57 +0530 Subject: [PATCH 1/2] Create Merge_Sort_algo.py --- Python/Merge_Sort_algo.py | 74 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 Python/Merge_Sort_algo.py diff --git a/Python/Merge_Sort_algo.py b/Python/Merge_Sort_algo.py new file mode 100644 index 0000000..1384369 --- /dev/null +++ b/Python/Merge_Sort_algo.py @@ -0,0 +1,74 @@ +# Python program for implementation of MergeSort + +# Merges two subarrays of arr[]. +# First subarray is arr[l..m] +# Second subarray is arr[m+1..r] +def merge(arr, l, m, r): + n1 = m - l + 1 + n2 = r- m + + # create temp arrays + L = [0] * (n1) + R = [0] * (n2) + + # Copy data to temp arrays L[] and R[] + for i in range(0 , n1): + L[i] = arr[l + i] + + for j in range(0 , n2): + R[j] = arr[m + 1 + j] + + # Merge the temp arrays back into arr[l..r] + i = 0 # Initial index of first subarray + j = 0 # Initial index of second subarray + k = l # Initial index of merged subarray + + while i < n1 and j < n2 : + if L[i] <= R[j]: + arr[k] = L[i] + i += 1 + else: + arr[k] = R[j] + j += 1 + k += 1 + + # Copy the remaining elements of L[], if there + # are any + while i < n1: + arr[k] = L[i] + i += 1 + k += 1 + + # Copy the remaining elements of R[], if there + # are any + while j < n2: + arr[k] = R[j] + j += 1 + k += 1 + +# l is for left index and r is right index of the +# sub-array of arr to be sorted +def mergeSort(arr,l,r): + if l < r: + + # Same as (l+r)//2, but avoids overflow for + # large l and h + m = (l+(r-1))//2 + + # Sort first and second halves + mergeSort(arr, l, m) + mergeSort(arr, m+1, r) + merge(arr, l, m, r) + + +# Driver code to test above +arr = [12, 11, 13, 5, 6, 7] +n = len(arr) +print ("Given array is") +for i in range(n): + print ("%d" %arr[i]), + +mergeSort(arr,0,n-1) +print ("\n\nSorted array is") +for i in range(n): + print ("%d" %arr[i]), From a1048ecdbe3e8aeeef66f9ce95d410f066cc810a Mon Sep 17 00:00:00 2001 From: Soumya Ranjan Bharati <70058643+Soumya-Ranjan-Bharti@users.noreply.github.com> Date: Wed, 30 Sep 2020 19:42:53 +0530 Subject: [PATCH 2/2] Create Selection_sort.py --- Python/Selection_sort.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Python/Selection_sort.py diff --git a/Python/Selection_sort.py b/Python/Selection_sort.py new file mode 100644 index 0000000..4a356e4 --- /dev/null +++ b/Python/Selection_sort.py @@ -0,0 +1,23 @@ +# Python program for implementation of Selection +# Sort +import sys +A = [64, 25, 12, 22, 11] + +# Traverse through all array elements +for i in range(len(A)): + + # Find the minimum element in remaining + # unsorted array + min_idx = i + for j in range(i+1, len(A)): + if A[min_idx] > A[j]: + min_idx = j + + # Swap the found minimum element with + # the first element + A[i], A[min_idx] = A[min_idx], A[i] + +# Driver code to test above +print ("Sorted array") +for i in range(len(A)): + print("%d" %A[i]),