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

Smazaný obsah Přidaný obsah
Addbot (diskuse | příspěvky)
m Bot: Odstranění 1 odkazů interwiki, které jsou nyní dostupné na Wikidatech (d:q189057)
Řádek 108:
 
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í je téměř nezávislý na počátečním řazení tříděné 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í nemusíme manipulovat přímo s položkami tříděné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 polí indexů můžeme mít pole setříděné "současně" podle více kritérií. 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]]).
 
 
Pozn. Peter:
"čas potřebný pro třídění je téměř nezávislý na počátečním řazení tříděné posloupnosti"
- jo, protoze pouzivate spatny algoritmus. Zkuste list-merge-sort.
Vas algoritmus puli seznam, dokud to jde, proto casove nezavisi na tom, jak moc jsou data serazena. Pokud jsou data serazena, tak trva stejne dlouho, jako kdyz nejsou.
List-merge vybere jen serazene posloupnosti porovnanim dvou po sobe jdoucich hodnot. Pocet posloupnosti ke slevani je mensi nebo roven vasemu algoritmu. Pocet kroku je ale mensi, proto je vzdy rychlejsi. Pokud jsou data serazena, tak skonci v prvnim kroku, pri ziskavani useku pro slevani.
 
== Externí odkazy ==