Sortowanie IS |
---|
Ilość elementów |
40000 |
45000 |
50000 |
55000 |
60000 |
65000 |
70000 |
75000 |
80000 |
85000 |
90000 |
95000 |
100000 |
105000 |
110000 |
Sortowanie SS |
---|
Ilość elementów |
40000 |
45000 |
50000 |
55000 |
60000 |
65000 |
70000 |
75000 |
80000 |
85000 |
90000 |
95000 |
100000 |
105000 |
110000 |
Sortowanie HS |
---|
Ilość elementów |
40000 |
45000 |
50000 |
55000 |
60000 |
65000 |
70000 |
75000 |
80000 |
85000 |
90000 |
95000 |
100000 |
105000 |
110000 |
Sortowanie QS |
---|
Ilość elementów |
40000 |
45000 |
50000 |
55000 |
60000 |
65000 |
70000 |
75000 |
80000 |
85000 |
90000 |
95000 |
100000 |
105000 |
110000 |
Algorytm wykorzystuje fakt posortowania zbioru. Dla zbiorów w znacznym stopniu uporządkowanych klasa czasowej złożoności obliczeniowej algorytmu jest prawie liniowa. Czas sortowania takich zbiorów jest bardzo krótki.
Najbardziej niekorzystnym przypadkiem jest sortowanie zbioru posortowanego odwrotnie - czas sortowania jest najdłuższy. Czas sortowania zbioru o losowym rozkładzie elementów jest o połowę krótszy.
Analiza wzrostu prędkości algorytmu sortowania przez wstawianie w stosunku do algorytmu sortowania przez wybór pokazuje, iż obecny algorytm jest dużo lepszy w przypadku zbiorów w znacznym stopniu uporządkowanych. Również zbiory o losowym rozkładzie elementów będą posortowane szybciej. Jedynie w przypadku pesymistycznym, gdy zbiór jest posortowany odwrotnie, algorytm jest wolniejszy od algorytmu sortowania przez wybór. Te cechy czynią algorytm sortowania przez wstawianie zalecanym, prostym algorytmem sortującym klasy O(n2).
Wszystkie badane przez nas czasy sortowania są proporcjonalne do kwadratu liczby elementów porządkowanego zbioru. Klasa czasowej złożoności obliczeniowej algorytmu sortowania przez wybór wynosi O(n2).
Wszystkie badane czasy sortowania są praktycznie takie same.
Algorytm nie uwzględnia faktu posortowania zbioru. Jednakże również nie wyróżnia on przypadku posortowania zbioru w kierunku odwrotnym. Zatem można wysunąć wniosek, iż dla tego algorytmu złożoność czasowa nie zależy od rozkładu elementów w sortowanym zbiorze.
Otrzymane czasy są proporcjonalne do nlog2n, zatem wnioskujemy, iż algorytm sortowania przez kopcowanie posiada klasę czasowej złożoności obliczeniowej równą O(nlog n). Najdłużej trwa sortowanie zbioru nieposortowanego. Otrzymane czasy nie różnią się wiele od siebie, algorytm jest mało czuły na postać danych wejściowych.
Czas sortowania zbiorów posortowanych jest dłuższy od sortowania zbioru posortowanego odwrotnie.
Zaletą jest sortowanie w miejscu – algorytm doskonały do sortowania dużych zbiorów, ponieważ nie potrzebuję dużo pamięci.
Otrzymane czasy sortowania są proporcjonalne do iloczynu n log2 n, wnioskujemy zatem, iż klasa złożoności obliczeniowej algorytmu sortowania szybkiego jest równa O(n log n).
Czasy sortowania dla poszczególnych przypadków są mniej więcej tego samego rzędu.
Czas sortowania zbiorów nieuporządkowanych jest wyraźnie dłuższy od czasów sortowania zbiorów uporządkowanych częściowo.
Czas sortowania zbioru uporządkowanego oraz uporządkowanego odwrotnie jest praktycznie taki sam.
Otrzymane wyniki potwierdzają, iż algorytm sortowania szybkiego jest najszybszym algorytmem sortującym