Základy algoritmizace

Jaro 2026

Úterý, Děčín (Kokos)
Přednáška: 12:00, posluchárna PL1

Předpokládaný obsah přednášky:

Algoritmus -- datové struktury -- metody návrhu algoritmu -- rekurze -- třídění -- použití binárního stromu -- seminumerické algoritmy

Literatura

Skriptum

Základní doporučenou literaturou je skriptum "Základy algoritmizace v Pythonu". Vedle toho je k dispozici také skriptum "Základy algoritmizace v C++".
Opravy chyb, o nichž ve skriptu vím, najde zde. Pokud najdete další, pošlete mi prosím zprávu.

17. 2. 2026
  • Přednáška: Algoritmus, metoda shora dolů, popis algoritmu, složitost algoritmu. Příklad zjišťování složitosti algoritmu.
  • Cvičení: Metoda shora dolů. Řešení rekurentních vztahů.
  • 24. 2. 2026
  • Složitost algoritmu - příklad (dokončení). Základní datové struktury. Seznam.
  • Cvičení: Metoda shora dolů, řešení rekurentních vztahů.
  • 3. 3. 2026
  • Přednáška: Seznam - dokončení. Iterátor. Strom.
  • Cvičení: Seznam -- algoritmy a implementace.
  • 10. 3. 2026
  • B-strom, B+-strom. Hlada. Hešová tabulka.
  • Cvičení: Binární vyhledávací strom -- algoritmy a implementace.
  • 17. 3. 2026
  • Přednáška: Fronta, zásobník. Reprezentace a implementace matematických struktur: množina, graf. Metody návrhu algoritmů: Rozděl a panuj, hladový algoritmus.
  • Cvičení: Rozděl a panuj.
  • 24. 3. 2026
  • Metody návrhu algoritmů.
  • Cvičení: Metody návrhu algoritmu. Hanojské věže.
  • 31. 3. 2026
  • Rekurze.
  • Cvičení: Metody návrhu algoritmu: Hanojské věže -- dokončení.
  • 7. 4. 2026
  • Třídění: Třídění vkládáním, výběre, bublinkové, přetřísáním, Shellovo, haldou.
  • Cvičení: Kalkulátor (příklad rekurze). Třídění - úpravy algoritmů pro řazení spojového seznamu.
  • 14. 4. 2026
  • Přednáška: Quicksort, introspektivní třídění (introsort). Hledání k-tého prvku podle velikosti. Neporovnávací metody třídění. Abecední řazení.
  • Cvičení: Rozbor a implementace vybraných metod třídění, jejich úprava pro spojový seznam, jak se změní složitost při aplikaci na seznam ve srovnání s aplikací na pole.
  • 21. 4. 2026
  • Přednáška: Třídění - dokončení (abecední řazení). Použití binárního výhledávacího stromu - úvod (dokonale vyvážený strom, AVL-strom, odvození průměrné délky cesty v nevyváženém binárním stromě.
  • Cvičení: Implementace abecedního porovnání.
  • 28. 4. 2026
  • Přednáška: Další použití binárního stromu. Seminumerické algoritmy - úvod (číselné soustavy), zobrazení čísel v počítači.
  • Cvičení: Optimální binární vyhledávací strom.
  • 5. 5. 2026
  • Přednáška: Seminumerické algoritmy: Reprezentace celých a reálných čísel a algoritmy pro práci s nimi. Přesnost aritmetiky reálnách čísel.
  • Cvičení: Třídění. Reprezentace výrazu stromem.
  • 12. 5. 2026
  • Přednáška: Některé další algoritmy: Relace (porovnání velikosti čísel) ve dvojkovém doplňku. Hornerovo schéma, Millerův-Rabinův test, Rozklad grafu na komponenty, tranzitivní uzávěr grafu.
  • Cvičení: Přesnost aritmetiky reálných čísel.
  •  

     

    K této přednášce si lze stáhnout příklady. Dáváte-li úpřednost jazyku Pascal, najdete obdobné příklady zde. Zdrojové texty jsou zabaleny včetně adresářové struktury.

    Moje domovská stránka    Přednášky a semináře