Znamy już różne algorytmy sortowania – mniej lub bardziej skomplikowane, sortujące z różną szybkością. W tym e‑materiale omówimy algorytm, który ma mniejszą złożoność czasową niż wszystkie dotąd przez nas omawiane. Jest to rekurencyjny algorytm sortowania przez scalanie (ang. merge sort) oparty na zasadzie „dziel i zwyciężaj” (jej nazwa to parafraza łacińskiej maksymy „dziel i rządź”).
Implementacje omawianego algorytmu przedstawiamy w e‑materiałach:
Sortowanie przez scalanie w języku C++Sortowanie przez scalanie w języku C++,
Sortowanie przez scalanie w języku JavaSortowanie przez scalanie w języku Java,
Sortowanie przez scalanie w języku PythonSortowanie przez scalanie w języku Python.
Więcej zadań? Sięgnij do: Sortowanie przez scalanie – zadania maturalneSortowanie przez scalanie – zadania maturalne.
Przeanalizujesz algorytm sortowania przez scalanie.
Scharakteryzujesz złożoność czasową i pamięciową algorytmu merge sort.
Posortujesz przykładową tablicę za pomocą algorytmu sortowania przez scalanie.