Quicksort

Quicksort (nazývané aj rýchle triedenie) je jednoduchý triediaci algoritmus, ktorý porovnáva prvky poľa. Jeho tvorcom je Sir Charles Antony Richard Hoare. Základnou myšlienkou tohto triediaceho algoritmu je rozdelenie triedeného poľa na dve približne rovnako veľké časti (približne rovnaký počet položiek). Algoritmus si zvolí hodnotu, ktorá sa nazýva pivot, na základe ktorej bude porovnávať hodnoty a z celkového poľa hodnôt si vytvorí dve časti.V jednej časti sú hodnoty menšie ako pivot, v druhej väčšie. Postupne bude v jednotlivých častiach triediť (zoraďovať) hodnoty podľa ich veľkosti. Vždy si danú časť rozdelí na dve menšie časti podľa pivotu a triedi. Ide o rekurzívne triedenie. Ak budú obe časti poľa roztriedené, bude roztriedené i celé pole.

Problém môže nastať pri voľbe pivotu. Môže nastať situácia, že sa zvolená hodnota bude približovať mediánu (strednej hodnote). Vtedy je algoritmus najrýchlejší, pretože ľahko určí, ktoré hodnoty sú vyššie či nižšie a vie ich ľahšie utriediť. Ak nastane opačná situácia, algoritmus sa stáva pomalším a vyžaduje si aj viac pamäte.

Opäť si naprogramujeme využitie tohto triedenia. Ako prvé si zadeklarujeme pole desiatich prvkov od 1 do 10. Ďalej si musíme určiť pivot. Následne si prvky, cez ktoré prechádza cyklus rozdelíme na vyššie a nižšie a vytvoríme tým dve približne rovnaké polia. Následne sa začne samotné triedenie v jednotlivých poliach. Triedenie sa vykonáva, kým index daného prvku nie je vyšší ako pivot (index prvku z druhého poľa). Potom sa postupuje, kým nedosiahneme prvok menší ako pivot. Nasleduje rekurzia, volanie procedúry samou sebou, kým sa neroztriedia všetky prvky podľa veľkosti.  

Vytvorte si webové stránky zdarma! Táto stránka bola vytvorená pomocou služby Webnode. Vytvorte si vlastný web zdarma ešte dnes! Vytvoriť stránky