Złożoność czasowa i pamięciowa
Lekcja 7 z 9 w kursie Sortowanie radixowe — seria DSA w Coddy.
Złożoność czasowa:
- O(d * (n + k))
- gdzie n to liczba elementów, k to podstawa (10), a d to liczba cyfr w największej wartości. Każde z d przejść wykonuje O(n + k) operacji.
- Gdy d jest małe i stałe, algorytm działa jak O(n), szybciej niż sortowania porównawcze o złożoności O(n log n).
Złożoność pamięciowa:
- O(n + k)
- Każde przejście tworzy tablicę wynikową o rozmiarze n oraz tablicę zliczeń o rozmiarze k.
Podsumowanie:
- Radix Sort to stabilne sortowanie nieporównawcze, które może być szybsze niż O(n log n) dla kluczy całkowitych o ograniczonej liczbie cyfr.
- Wymaga kluczy, które można rozdzielić na cyfry, oraz dodatkowej pamięci; ta wersja zakłada nieujemne liczby całkowite.
Spróbuj swoich sił
Ta lekcja nie zawiera wyzwania z kodem.
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Sortowanie radixowe — seria DSA
2Algorytm
Jak to działa?PseudokodImplementacja (część 1)Implementacja (część 2)Poćwicz samodzielnie: Kompilator C online