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.