# what is Merge Sort? Python Program for Merge Sort.

1 like 0 dislike
416 views

0 like 0 dislike
by Goeduhub's Expert (9.3k points)

Merge Sort is a Divide and Conqure algorithm. It divides input array in two halves, calls itself for the two halves and then merges the two sorted halves. The merge() function is used for merging two halves.

Auxiliary Space  :   O(n)

Time complexity :  θ(nlog(n))

Python program for implementation of Merge Sort:

def mergeSort(arr):

if len(arr) >1:

mid = len(arr)//2

L = arr[:mid]

R = arr[mid:]

mergeSort(L)

mergeSort(R)

i = j = k = 0

# Copy data to temp arrays L[] and R[]

while i < len(L) and j < len(R):

if L[i] < R[j]:

arr[k] = L[i]

i+=1

else:

arr[k] = R[j]

j+=1

k+=1

while i < len(L):

arr[k] = L[i]

i+=1

k+=1

while j < len(R):

arr[k] = R[j]

j+=1

k+=1

a=[12,11,8,5,3,20]

mergeSort(a)

print(a)

Learn & Improve In-Demand Data Skills Online in this Summer With  These High Quality Courses[Recommended by GOEDUHUB]:-

Best Data Science Online Courses[Lists] on:-

Claim your 10 Days FREE Trial for Pluralsight.