I'm quite unfamiliar with Python and decided to practice some algorithms here is my implementation of the merge sort, I'm not too sure why I'm getting this error:
Traceback (most recent call last):
File "<string>", line 44, in <module>
UnboundLocalError: local variable 'mid' referenced before assignment
a = [1,2,3,5,3,1,8,4,5,6]
def mergesort(x):
n = len(x)
if n > 1:
mid = (n//2)
left = x[:mid]
right =x[mid:]
for i in range(0, mid -1):
left[i] = x[i]
for i in range(mid, n-1):
right[i - mid] = x[i]
mergesort(left)
mergesort(right)
merge(left,right,x)