Kurz se zaměřuje na základy algoritmizace a programování, vztah mezi problémem, algoritmem a programem, principy objektově orientovaného programování, generické programování, rozhraní, polymorfismus a rekurzi. Studenti se seznámí s analýzou výpočetní složitosti. Dále kurz pokrývá abstraktní datové typy a jejich implementace (zásobník, fronta, seznam, tabulka, rozptylová tabulka), stromové a grafové struktury, prohledávání do šířky i hloubky, topologické řazení, prioritní fronty a haldy.
Cílem předmětu je demonstrovat způsoby implementace základních abstraktních datových typů, tj. zásobníku, fronty, seznamu, tabulky, prioritní fronty, stromů, grafů a dalších. Klíčovým nástrojem je koncept výpočetní složitosti, který bude podrobně formálně zaveden a diskutován ve všech praktických případech.
Student by se měl orientovat v primárních datových typech používaných pro reprezentaci celých čísel, čísel s plovoucí desetinnou čárnou a znaků v počítači. A být schopen popsat principy programování v imperativních jazycích.
Po absolvování kurzu bude student schopen interpretovat výroky o složitosti algoritmů a problémech, rozumět složitostním třídám O, Θ a Ω. Dokáže popsat způsob vykonání programu v počítači, zejména principy alokace paměti v zásobníku a na haldě a vytváření zásobníkových rámců. Bude umět určit výpočetní složitost operací u konkrétních implementací abstraktních datových typů. Zároveň bude znát nejčastěji používané abstraktní datové typy, jejich implementace a souvislosti mezi způsobem implementace a efektivitou operací.
Fakulta aplikovaných věd
KIV/IDT
Od 1. 12. 2025 do 31. 1. 2026
Letní semestr 2025/2026
Přednáška:
Místnost – US217
Pondělí 11:10 – 12:50
Cvičení:
Studenti mohou být zapsání do jakékoli vypsané rozvrhové akce.
18. 02. 2026 – 13. 05. 2026
Budova FAV, areál Bory
Kontaktní výuka : 52h
Vypracování seminární práce: 39h
Příprava na zkoušku: 26h
Příprava na souhrnný test: 13h
Po kliknutí na tlačítko budete přesměrováni na web ePřihláška, kde se budete moci přihlásit ke studiu.
Univerzitní 22, Plzeň