IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 9 - Velké srovnání základních třídících algoritmů

V minulé lekci, Counting sort, jsme si ukázali algoritmus Counting sort i se zdrojovými kódy.

Třídění je základní funkčností většiny počítačových programů i her, která se provádí velmi často. Setkáváme se s ní pokaždé, když počítač řadí kontakty podle abecedy, když hra vykresluje 2d scénu (nejprve si seřadí objekty podle vzdálenosti od kamery a až potom je může začít odzadu vykreslovat) nebo když zkrátka potřebujeme setřídit nějaké množství dat podle určitých kritérií, abychom z nich vytvořili nějaké statistiky. Můžeme tedy třídit např. žáky podle prospěchu, zaměstnance podle platu, kandidáty podle počtu hlasů atp. Třídění je spolu s vyhledáváním stěžejní vlastností také velkých obchodních informačních systémů. Jeho rychlost je tedy naprosto klíčová a závisí (kromě rychlosti počítače) na časové složitosti zvoleného třídícího algoritmu a také na velikosti a struktuře zpracovávaných dat. Pokud budeme znát principy a časové složitosti třídících algoritmů, můžeme dosáhnout obrovských časových úspor v našich programech. I hodinová operace se špatně zvoleným algoritmem se může jeho záměnou proměnit na záležitost několika málo vteřin.

Následující práce se zabývá porovnáním výkonu (benchmarkem) šesti třídících algoritmů. Cílem je přinést relativní porovnání rychlosti algoritmů na stejném stroji a stejných testovacích datech, která budou dostatečně objemná a různorodá. Měla by potvrdit očekávané chování a ohodnotit algoritmy podle času, který tříděním strávily, resp. zjistit, které algoritmy je vhodné použít na určitý typ dat a které nikoli.

Popis podmínek testování

V rámci této práce jsem testoval 6 třídících algoritmů založených na vzájemném porovnávání prvků. Následuje jejich seznam a hrubý popis funkčnosti, implementace a časové složitosti:


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 50 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 9 článkům (9 lekcí) tohoto kurzu.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Neomezený a trvalý přístup k jednotlivým lekcím.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

Velké srovnání základních třídících algoritmů selection sort, bubble sort, merge sort, heap sort, quick sort.

Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Článek pro vás napsal David Hartinger
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity