kategorie: informatyka
Witam Państwa,
W części poniżej znajdziecie Państwo filmik ze szczegółowym wytłumaczeniem dotyczącym algorytmu sortowania przez scalanie. Jego działania, złożoności czasowej, jak i użyteczności. Poniżej znajdą także Państwo gotowy kod do skopiowania w razie potrzeby.
Kod:
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:
Dziękuję za przeczytanie!
Czytaj dalej