Řazení slučováním: Porovnání verzí

Smazaný obsah Přidaný obsah
Řádek 108:
Velkou nevýhodou oproti algoritmům stejné rychlostní třídy (např. [[heapsort]]) je, že Mergesort pro svou práci potřebuje navíc pole o velikosti N. Existuje sice i modifikace Mergesortu, která toto pole nepotřebuje, ale její implementace je velmi složitá a kvůli vysoké režii i pomalá. Kromě toho je Mergesort ve většině případů pomalejší než [[quicksort]] nebo [[heapsort]].
 
Na druhou stranu je Mergesort [[stabilní řadicí algoritmus]], lépe se paralelizuje a má vyšší výkon na sekvenčních médiích s nižší přístupovou dobou. Velkou výhodou proti [[quicksort]]u je, že čas potřebný pro tříděnířazení je téměř nezávislý na počátečním řazení tříděnéseřazení posloupnosti. Vyšší spotřeba paměti není tak velkým problémem jak se může na první pohled zdát, protože při tříděnířazení nemusíme manipulovat přímo s položkami tříděnéhořazeného pole, ale pouze s polem indexů, které v paměti většinou zabírá mnohem méně místa. Při použití více <s>polí</s> indexů můžeme každý index setříditseřadit podle jiného kritéria, což ale není specifické pro Mergesort a běžně se používá v databázových indexech. Něco jiného je, že konkrétní tříděnířazení může být podle víc kritérií, obvykle zkombinovaných lexikograficky, což ale také není specifické pro Mergesort. V mnoha implementacích programovacích jazyků je Mergesort implicitním řadicím algoritmem (v [[Perl]]u 5.8, v [[Java (programovací jazyk)|Javě]] nebo v [[GNU C Library]]).
 
Pro tříděnířazení na sekvenčních mědiích se používají jiné algoritmy založené na slučování utříděnýchseřazených (pod)posloupností, které se ale nepovažují za Mergesort.
 
== Externí odkazy ==