NPRG062 Algoritmizace
školní rok 2025/2026
11 přednášek
30. 9. 2025 - Algoritmy a jejich efektivita
Úvodní informace o obsahu přednášky a studijních materiálech.
Algoritmus - vlastnosti, důkaz správnosti, porovnávání kvality algoritmů.
Příklady: Eukleidův algoritmus, problém stabilních manželství.
Časová a prostorová složitost algoritmů.
7. 10. 2025 – Asymptotická složitost, základní algoritmy s čísly
Časová a prostorová složitost algoritmů.
Asymptotická složitost, notace „velké O, Omega, Theta“.
Složitost algoritmu v nejhorším, nejlepším a průměrném případě.
Složitost problému.
Dělitelnost, rozklad čísla na cifry, ciferný součet.
Prvočísla – test prvočíselnosti, Eratosthenovo síto.
„Dlouhá čísla“ – uložení, operace.
Polynomy – vyhodnocení (Hornerovo schéma), operace.
Převody mezi číselnými soustavami.
Rychlé umocňování.
14. 10. 2025 – Číselné soustavy, vyhledávání a řazení dat
Převody mezi číselnými soustavami.
Rychlé umocňování.
Vyhledávání v poli – sekvenční, pomocí zarážky, binární vyhledávání (půlení intervalů).
Řazení dat v poli – přímé metody (SelectSort, InsertSort, BubbleSort).
Rychlejší třídění – iterativní implementace třídění sléváním (MergeSort).
Princip vnějšího třídění (třídění souborů).
21. 10. 2025 – imatrikulace (výuka v 1. ročníku celý den zrušena)
28. 10. 2025 – státní svátek
4. 11. 2025 – Třídicí algoritmy, reprezentace dat
Složitost problému vnitřního třídění.
Třídění s lineární složitostí (CountingSort, BucketSort, RadixSort).
Reprezentace dat v paměti, pole a seznamy, složitost operací.
Lineární spojový seznam jako alternativa k poli a seznamu.
Abstraktní datové typy: zásobník, fronta.
Plán na 11. 11. 2025 - Základní datové struktury
Další abstraktní datové typy: halda, prioritní fronta, slovník, množina, vyhledávací strom.
Haldové operace, implementace haldy v poli.
Haldové třídění (HeapSort).
Konstrukce haldy v lineárním čase.
Slovník a jeho implementace pomocí hešování.
Hešovací tabulky, metody řešení kolizí.
Vyhledávací stromy.