jeśli mamy listę n liczb, potrzebujemy logn bitów
Nie: jeśli mamy listę liczb od 0 do 2k−1 , potrzebujemy k bitów. Ogólnie nie ma związku między k i logn .
Jeśli wszystkie liczby są różne, wówczas logn≥k , a sortowanie radix według różnych liczb ma złożoność czasową Ω(nlogn) . Ogólnie rzecz biorąc, złożoność sortowania w podstawach wynosi Θ(nk) gdzie n to liczba elementów do posortowania, a k to liczba bitów w każdym elemencie.
Stwierdzenie, że złożoność sortowania w radix wynosi oznacza przyjęcie stałego rozmiaru bitu dla liczb. Oznacza to, że dla wystarczająco dużej liczby będzie wiele zduplikowanych wartości.nO(n)n
Istnieje ogólne twierdzenie, że metoda sortowania tablic lub list, która działa poprzez porównywanie dwóch elementów jednocześnie, nie może działać szybciej niż w najgorszym przypadku. Sortowanie Radix nie działa przez porównywanie elementów, ale działa ta sama metoda sprawdzania. Sortowanie Radix jest procesem decyzyjnym określającym, która permutacja ma zostać zastosowana do tablicy; jestpermutacje tablicy i sortowanie radix podejmuje decyzje binarne, tzn. decyduje, czy zamienić dwa elementy na każdym etapie. Po decyzji binarnych, sortowanie pozycyjne może zdecydować między permutacji. Aby dotrzeć domożliwe permutacje, konieczne jest, aby .n ! m 2 m n ! m ≥ log ( n ! ) = Θ ( n log n )Θ(nlogn)n!m2mn!m≥log(n!)=Θ(nlogn)
Założeniem w dowodzie, że nie napisałem powyżej, jest to, że algorytm musi działać w przypadku, gdy elementy są różne. Jeśli wiadomo z góry, że wszystkie elementy nie są różne, to liczba potencjalnych permutacji jest mniejsza niż pełne. Podczas sortowania liczb bitowych możliwe jest posiadanie różnych elementów, gdy ; w takim przypadku złożoność sortowania radix jest rzeczywiście . W przypadku większych wartości muszą wystąpić kolizje, co wyjaśnia, w jaki sposób sortowanie radix może mieć złożoność mniejszą niż gdy .k n n ≤ 2 k Ω ( n log n ) n Θ ( n log n ) n > 2 kn!knn≤2kΩ(nlogn)nΘ(nlogn)n>2k