Algoritmizace a programování

Cíle předmětu a výstupy z učení:

Seznámit posluchače se základními algoritmy a datovými strukturami a jejich využitím při vytváření efektivních algoritmů. Představit základní algoritmické konstrukce a postupy pro návrh algoritmů. Seznámit se základními abstraktními datovými typy (pole, seznam, strom) a s často používanými algoritmy zaměřenými na organizaci dat (vyhledávání, řazení).

Po úspěšném absolvování bude student: - aktivně rozumět datovým strukturám - aktivně rozumět technikám základních algoritmů - schopen vytvářet složitější algoritmické struktury - aktivně datové struktury a algoritmy uplatňovat v programátorské činnosti

 

Osnova:

Metody návrhu algoritmu.

Základní algoritmické konstrukce (záměna hodnot dvou proměnných, suma, resp. součin n hodnot).

Algoritmické konstrukce (hledání a lokalizace konkrétního prvku v posloupnosti, hledání a lokalizace extrému prvků posloupnosti).

Algoritmické konstrukce (pro práci s maticemi).

Datové struktury (kompaktní a spojové seznamy).

Datové struktury (zásobník).

Datové struktury (fronta, halda).

Algoritmy pro vnitřní třídění (metody přímé).

Algoritmy pro vnitřní třídění (quicksort, heapsort).

Třídící algoritmy (Bucket sort).

Třídící algoritmy (Radix sort).

Závěrečné opakování, resp. zápočtový test