POSUDEK  BAKALÁŘSKÉ  PRÁCE
Název práce: Třídící algoritmy
Autor práce:  Tomáš Došlík
Stručné zhodnocení práce: 
V úvodu je přehled vlastností algoritmů. Zde diplomant uvádí, že v současnosti dáváme přednost algoritmům, které mají co nejmenší časovou složitost. To obecně neplatí, záleží na konkrétní situaci. Například nepoužijeme třídění metodou Quicksort, když budeme potřebovat setřídit jen 10 hodnot.
V zápisu polynomiální složitosti je chyba, místo O(nc) zápis má být O(nc).
V následující kapitole je popsány algoritmy vnitřního třídění. Na začátku jsou uvedeny přímé metody třídění. Slovní popisy těchto metod jsou poněkud vágní a je v nich hodně nepřesností, nicméně podstatnější jsou zde pseudokódy.
Pseudokód třídění vkládáním na straně 17 je chybný a neodpovídá této metodě. V pseudokódu je třídění realizováno výměnami prvků, což je tímto třídění výměnou, nikoliv vkládáním. 
V analýze bublinkového třídění je uvedeno, že počet přesunů nezávisí na počátečních hodnotách prvků, což není pravda. Například v případě, že prvky jsou na počátku již setříděné, nedojde k žádnému přesunu.V pseudokódu této metody na straně 18 by horní hranice vnějšího cyklu měla být n-1 místo n.
V analýze třídění výběrem se uvádí, že metoda je nestabilní. To záleží na postupu při vyhledání nejmenšího prvku v nesetříděné části. Běžně je tato implementována postupným procházením nesetříděné části od začátku po její konec. V tomto případě metoda je stabilní. Pseudokód této metody uvedený na straně 20 je chybný a neodpovídá této metodě. V pseudokódu je třídění realizováno výměnami prvků, což je opět třídění výměnou, nikoliv výběrem. 
Za přímými metodami následují popisy sofistikovanějších metod. V pseudokódu třídění haldou na straně 22 je nejasná úloha parametru n funkce SINK, neboť jeho hodnota je hned na prvním řádku funkce přepsána příkazem nLENGTH(A).
V popisu metody Quicksort je uvedeno, že tříděná část je výměnami rozdělena na dvě části obsahující prvky xi<x a xi>x. Zde viditelně nemohou být obě nerovnosti ostré, neboť v některé z částí musí být i pivot x. V pseudokódu této metody je chybně podmínka hlavního cyklu. Místo until lt<rt má být while lt<rt.
Poslední popsaná metod je třídění slučováním. U ní diplomant uvádí, že je pomalejší než třídění haldou. Empirické testování ale ukazuje, že je naopak rychlejší než třídění haldou. V pseudokódu je chyba, neboť zde nikde není ošetřena situace, kdy tříděná část má délku 1. Program implementovaný podle tohoto pseudokódu by se zacyklil. Další chyba je v části slučování, kde ve srovnání A[j]<B[i] musí být neostrá nerovnost , jinak by metoda nebyla stabilní. Další chyba v pseudokódu je v jeho poslední části, kde je ošetřen jen případ, že po ukončení slučování zůstane nedočtená první ze slučovaných posloupností. Že může naopak zůstat nedočtená druhá z posloupností, zde ošetřeno není.
Následující kapitoly bakalářské práce popisují vlastní aplikaci, její strukturu a její ovládání.
Poslední kapitola analyzuje výsledky testování třídících algoritmů. Zde poněkud nevěrohodně působí zjištění, že třídění přímým výběrem je rychlejší než třídění přímým vkládáním, neboť o třídění vkládáním je známo, že je nejrychlejší z přímých metod.    
	Při testování spuštění aplikace proběhlo hladce. Ovládání aplikace je jednoduché a dobře se s ní pracuje. Vizualizace jednotlivých třídících je přehledná. U metody třídění přímým vkládáním je stejná chyba, jaká byla uvedena u pseudokódu. Je to ve skutečnosti třídění výměnou.
Jak práce splnila zadání: Práce cíl, kterým byla vizualizaci třídících metod a srovnání jejich účinnosti, splnila.
Přináší práce nové výsledky (teoretické, algoritmy, nový SW nástroj, experimenty): Výsledkem práce je aplikace pro vizualizaci třídících metod.
Jaká je jazyková úroveň práce: Práce je psána pečlivě. Gramatické nedostatky jsou v ní jen ojediněle.
Další (chyby, silné a slabé stránky práce): 
Navrhované hodnocení práce: D
Datum: 20.8.2013
Jméno: RNDr. Arnošt Večerka
Podpis: