categories: computer science
Hello everyone,
Below you will find a video with a detailed explanation of the merge sort algorithm. Its operation, time complexity, and usefulness. Below you will also find ready-made code to copy if needed.
Code:
def sort(tablica):
srodek = len(tablica) // 2
lewaTablica = tablica[:srodek]
prawaTablica = tablica[srodek:]
sort(lewaTablica)
sort(prawaTablica)
wskaznikLewy = wskaznikPrawy = wskaznikGlowny = 0
while wskaznikLewy < len(lewaTablica) and wskaznikPrawy < len(prawaTablica):
if lewaTablica[wskaznikLewy] <= prawaTablica[wskaznikPrawy]:
tablica[wskaznikGlowny] = lewaTablica[wskaznikLewy]
wskaznikLewy += 1
else:
tablica[wskaznikGlowny] = prawaTablica[wskaznikPrawy]
wskaznikPrawy += 1
wskaznikGlowny += 1
while wskaznikLewy < len(lewaTablica):
tablica[wskaznikGlowny] = lewaTablica[wskaznikLewy]
wskaznikLewy += 1
wskaznikGlowny += 1
while wskaznikPrawy < len(prawaTablica):
tablica[wskaznikGlowny] = prawaTablica[wskaznikPrawy]
wskaznikPrawy += 1
wskaznikGlowny += 1
tab = [6, 1, 5, 0, 2, 3]
sort(tab)
for i in tab:
print(str(i) + " ", end="")
Video:
Thank you for reading!
Read more