Junior — Middle
Kokia yra greitojo rūšiavimo algoritmo laiko sudėtingumas blogiausiu, vidutiniu ir geriausiu atveju?
sobes.tech AI
Atsakymas iš AI
Greitojo rūšiavimo (QuickSort) algoritmo laiko sudėtingumas:
- Blogiausias atvejis: O(n²) — įvyksta, kai pivot elementas pasirenkamas nesėkmingai (pavyzdžiui, visada didžiausias arba mažiausias elementas), ir masyvas yra padalijamas nelygiai.
- Vidutinis atvejis: O(n log n) — pasirenkant atsitiktinį pivot arba gerai padalijus masyvą.
- Geriausias atvejis: O(n log n) — kai masyvas kiekviename žingsnyje padalijamas į dvi maždaug vienodas dalis.
Taigi, QuickSort dažniausiai veikia labai efektyviai, tačiau blogiausiu atveju gali sumažėti iki kvadratinės sudėtingumo.