Strona główna › Pytania INF.04 › Pytanie 521
INF.04 · pytanie #521
Jakie sformułowanie najlepiej oddaje złożoność obliczeniową algorytmu quicksort?
- Ajest zawsze mniejsza niż złożoność jakiegokolwiek innego algorytmu sortowania
- Bjest różna w zależności od wyboru elementu dzielącego
- Cjest większa niż O(n2)
- Djest większa niż złożoność sortowania bąbelkowego
Poprawna odpowiedź: B. jest różna w zależności od wyboru elementu dzielącego
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Quicksort to jeden z najszybszych i najczęściej stosowanych algorytmów sortowania, ale jego złożoność obliczeniowa nie jest stała i zależy od wyboru elementu rozdzielającego (pivot). W najgorszym przypadku, gdy pivot wybierany jest niefortunnie (np. największy lub najmniejszy element), złożoność quicksort wynosi O(n²). W przypadku optymalnym (pivot dzieli zbiór na dwie równe części), złożoność to O(n log n). Algorytm ten działa w sposób rekurencyjny, dzieląc tablicę na mniejsze podzbiory, co czyni go bardzo efektywnym dla dużych zbiorów danych. W praktyce quicksort jest często szybszy niż sortowanie przez scalanie (merge sort) ze względu na mniejszą liczbę operacji przesuwania danych, mimo że oba algorytmy mają podobną średnią złożoność obliczeniową.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.