Problém třídění
-
Název: Problém třídění
-
Vstup: Posloupnost čísel
-
Výstup: Permutace vstupní posloupnosti taková, že
-
Proč je problém třídění důležitý:
- Vyskytuje se jako úloha při řešení mnoha úloh zpracování dat.
- Algoritmy pro řešení složitějších problémů využívají algoritmy pro třídění.
- Často potřebujeme setřídit pole složitějších datových položek než jsou čísla.
- Algoritmy třídění používají řadu užitečných technik pro návrh algoritmů.
Rozdělení třídících algoritmů
- Třídící algoritmy lze rozdělit podle několika kritérií, například:
- Podle způsobu třídění:
- Porovnávací algoritmy:
- Tyto algoritmy porovnávají prvky, aby je mohli správně seřadit
- Quicksort, Mergesort, Heapsort, …
- Některé třídící algoritmy, například Counting Sort nebo Radix Sort nepoužívají porovnání prvků, ale pracují s počtem výskytů nebo s číslicemi v číslech.
- Porovnávací algoritmy:
- Podle časové složitosti:
- Algoritmy s časovou složitostí
- Bubble Sort, Selection Sort, Insertion Sort.
- Algoritmy s časovou složitostí
- QuickSort, MergeSort, HeapSort.
- Lineární algoritmy s časovou složitostí
- Counting Sort, Radix Sort.
- Algoritmy s časovou složitostí
- Podle stability:
- Stabilní algoritmy
- Zachovávají pořadí stejných prvků v seznamu
- MergeSort, Insertion Sort.
- Nestabilní algoritmy
- Mohou zaměnit pořadí stejných prvků
- QuickSort, Selection Sort
- Stabilní algoritmy
- Podle paměťové náročnosti:
- In-place algoritmy
- Provádějí třídění přímo v původním seznamu a nepotřebují žádnou další paměťovou alokaci.
- QuickSort, Selection Sort.
- Out-of-place algoritmy
- Vytvářejí nový seznam pro seřazené prvky a mohou potřebovat více paměti.
- MergeSort, Counting Sort.
- In-place algoritmy
Dolní mez složitosti třídění porovnáváním
- Věta: Časová složitost v nejhorším případě libovolného algoritmu třídění porovnáváním je .
Důkaz
Navigace
Předchozí: Lineární datové struktury - seznam, zásobník, fronta Následující: Základní metody třídění - insert sort, select sort, bubble sort Celý okruh: 1. Teoretické základy informačních technologií