Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
* Priemerný prípad: O (log n)
* V priemere Quicksort rozdeľuje vstup do zhruba rovnakých polovíc rekurzívne. Hĺbka stromu rekurzie je približne log₂ n.
* Každý rekurzívny hovor vyžaduje uloženie parametrov a spiatočnej adresy do zásobníka hovorov. Preto je zložitosť priemerného priestoru logaritmická.
* Najhorší prípad: O (n)
* Najhorší prípad sa vyskytuje, keď sa otočný prvok neustále vedie k vysoko nevyváženým oddielom (napr. Pivot je vždy najmenší alebo najväčší prvok).
*V tomto scenári sa hĺbka rekurzie môže stať *n *, čo vedie k zložitosti lineárneho priestoru v dôsledku zásobníka hovorov.
* Implementácia na mieste: O (log n) (priemer) alebo O (n) (najhoršie)
* Quicksort je možné implementovať na mieste, čo znamená, že vyžaduje minimálnu dodatočnú pamäť * nad * pôvodné pole. To sa deje priamo vymenením prvkov v rámci vstupného poľa namiesto vytvorenia mnohých nových polí.
* Aj pri implementácii na mieste rekurzívne hovory stále konzumujú priestor v zásobníku hovorov. Preto zložitosť priestoru zostáva v najhoršom prípade O (log n) v priemere a O (n). Niektoré implementácie obmedzujú hĺbku rekurzie, aby sa predišlo problémom s pretečením zásobníka v najhoršom prípade prechodom na iný triediaci algoritmus (napríklad Hepsort), keď sa rekurzia príliš hlboko.
Kľúčové úvahy a optimalizácie:
* Optimalizácia hovorov (TCO): Ak programovací jazyk a podpora kompilátora podporujú optimalizáciu chvosta, zložitosť priestoru sa môže v najlepších a priemerných prípadoch znížiť na O (1). TCO sa však bežne nevykonáva v mnohých jazykoch (napr. Python).
* Randomizovaný výber pivotu: Výber pivotu náhodne pomáha vyhnúť sa najhoršiemu scenáru.
* iteratívna implementácia: Konverzia rekurzívneho algoritmu Quicksort na iteračný môže tiež eliminovať rekurziu nad hlavou, čím sa zníži zložitosť priestoru. Implementácia však môže byť zložitejšia.
* hybridný prístup: Kombinácia Quicksort s inými algoritmami, ako je triedenie vloženia pre malé čiastky, môže zlepšiť výkon a využitie priestoru.
v súhrne:
* Teoreticky je zložitosť priestoru Quicksort v priemere o (log n) v najhoršom prípade v dôsledku rekurzívneho zásobníka hovorov.
* V praxi sa zvyčajne uprednostňuje implementácia na mieste, aby sa minimalizovalo využitie pamäte.
* Pochopenie potenciálu najhoršieho správania je rozhodujúce a techniky, ako je randomizovaný výber čapových plodov, ho môžu pomôcť zmierniť.