Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Řadicí algoritmy autor: Tadeáš Berkman. Obsah Obecné Časová složitost Dělení Zástupci s příklady Selection sort Bubble sort Insertion sort Quicksort Merge.

Podobné prezentace


Prezentace na téma: "Řadicí algoritmy autor: Tadeáš Berkman. Obsah Obecné Časová složitost Dělení Zástupci s příklady Selection sort Bubble sort Insertion sort Quicksort Merge."— Transkript prezentace:

1 Řadicí algoritmy autor: Tadeáš Berkman

2 Obsah Obecné Časová složitost Dělení Zástupci s příklady Selection sort Bubble sort Insertion sort Quicksort Merge sort Zdroje

3 Řadicí algoritmy obecně Méně výstižně též třídicí algoritmy Algoritmy řadí soubor dat (obvykle pole) podle zadaných kritérií (klíče) Řazení velmi častou úlohou, součást mnoha složitějších algoritmů → vyvinuto mnoho algoritmů s cílem co největší efektivity (časové a paměťové) obsah

4 Časová složitost Důležitá charakteristika algoritmu Zjišťuje, jakým způsobem se algoritmus chová v závislosti na velikosti vstupních dat Nejlepší možná je O(n) obsah

5 Dělení Řazení Vnitřní (v operační paměti musí být všechna data) Vnější Stabilita (na základě pořadí více prvků se stejným klíčem) Stabilní (pořadí zachováno) Nestabilní (pořadí se může změnit) obsah

6 Dělení Přirozenost Přirozené (částečně seřazená data seřadí rychleji) Nepřirozené Základní myšlenka Výběr Vkládání Záměna Slučování obsah

7 Zástupci - srovnání název časová složitost dodatečná paměť stabiln í přirozenýmetoda minimálníprůměrnámaximální selection sort O(n 2 ) O(1)ne výběr bubble sortO(n)O(n 2 ) O(1)ano záměna insertion sortO(n)O(n 2 ) O(1)ano vkládání quicksortO(n log n) O(n 2 )O(n log n)ne záměna merge sortO(n log n) O(n)ano slučování obsah

8 Selection sort (řazení výběrem) Jednoduchý Snadná implementace Časová složitost O(n 2 ) → použitelný jen pro malé objemy dat Vybere nejmenší prvek, prohodí ho s prvním, najde druhý nejmenší, prohodí s druhým, atd. Na stejném principu řadí data člověk obsah

9 Bubble sort (bublinkové řazení) Jednoduchý, málo efektivní – časová složitost O(n 2 ) Stabilní, přirozený Opakovaně prochází seznam a pokud nejsou dva sousedící prvky ve správném pořadí, prohodí je Název podle průběhu, kdy prvky s vyšší hodnotou probublávají na konec obsah

10 Insertion sort (řazení výběrem) Jednoduchý Pomalejší než pokročilejší algoritmy jako quicksort a merge sort, ale rychlejší než ostatní O(n 2 ) algoritmy Stabilní, přirozený Online algoritmus (dokáže řadit data, jak postupně přicházejí na vstup) Princip podobný bubble sortu, víc v příkladu obsah

11 Quicksort (rychlé řazení) Průměrná časová složitost O(n log n) – nejlepší možná Z pole vybere jeden prvek (pivot), prvky pole rozdělí na část menší a část větší než pivot, obě části se rekurzivně řadí stejným postupem Důležitým bodem volba pivota (v optimálním případě by měly být obě části pole stejně velké) obsah

12 Merge sort (řazení slučováním) Průměrná i nejhorší časová složitost O(n log n), ale v reálném použití bývá pomalejší než např. quicksort Nevýhodou je potřeba pole o velikosti n (větší nároky na paměť) Rozdělí množinu dat na dvě podmnožiny, ty seřadí a spojí zpět dohromady obsah

13 Zdroje, odkazy Další materiály: autor: Tadeáš Berkman


Stáhnout ppt "Řadicí algoritmy autor: Tadeáš Berkman. Obsah Obecné Časová složitost Dělení Zástupci s příklady Selection sort Bubble sort Insertion sort Quicksort Merge."

Podobné prezentace


Reklamy Google