Základy algoritmizace

Jaro 2026

Přednáška

Středa 14:00, posluchárnaB-103
Břehová 7, Praha 1

Literatura

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

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

18. 2. 2026
  • Přednáška: Organizační záležitosti; algoritmus, časová a paměťová náročnost, metoda shora dolů, popis algoritmu. Příklad: Složitost vyhledání největšího prvku v poli
  • Cvičení: Metoda shora dolů. Řešení rekurentních vztahů.
25. 2. 2026
  • Přednáška: Příklad: Složitost vyhledání největšího prvku v poli -- dokončení. Řešení rekurentních vztahů vznikajících při návrhu algoritmů metodou rozděl a panuj. Datové struktury: proměnná, pole, objekt. Spojový seznam -- úvod.
  • Cvičení: Řešení rekurentních vztahů -- dokončení. Spojový seznam (odvození algoritmů, jejich složitost, jejich implemenatce).
4. 3. 2026
  • Přednáška: Spojový seznam - dokončení. Iterátor. Strom. Binární vyhledávací strom, dokonalý strom. Halda.
  • Cvičení: Spojový seznam -- implementace iterátoru.
11. 3. 2026
  • Přednáška: B-strom a jeho varianty. Hešová tabulka. Fronta.
  • Cvičení: Implementace binárního vyhledávacího stromu. Algoritmy pro jeho zpracování: odvození, složitost, implementace.
18. 3. 2026
  • Přednáška: Fronta -- dokončení, zásobník. Dvoustranná fronta. Reprezentace množiny a grafu. Metody návrhu algoritmů: Rozděl a panuj, hladový algoritmus.
  • Cvičení: Metody návrhu algoritmů. Např. binární vyhledávání (rozděl a panuj), nejkratší cesta v grafu (Dijkstrův algoritmus, příklad na hladový algoritmus), konstrukce dokonale vyváženého binárního vyhledávacího stromu (dynamické programování), úloha n dam (backtracking) a další.
25. 3. 2026
  • Přednáška: Metody návrhu algoritmů: Hladový algoritmus (nejkratší cesta v grafu), dynamické programování, backtracking. Prohledávání stavového stromu úlohy do šířky, obecné prohledávání stavového stromu. Metoda Monte Carlo.
  • Cvičení: Metody návrhu algoritmů.
1. 4. 2026
  • Přednáška: Rekurze.
  • Cvičení: Metody návrhu algoritmů. Hanojské věže.
8. 4. 2026
  • Přednáška: Třídění (jednoduché metody, Shellovo třídění, třídění haldou).
  • Cvičení: Rekurze. Implementace třídicích algorimů pro pole a seznam.
15. 4. 2026
  • Přednáška: Třídění: quicksort, introspektivní třídění (introsort). Hledání k-tého prvku podle velikosti. Neporovnávací metody třídění.
  • 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.
22. 4. 2026
  • Přednáška: Abecední řazení. Binární vyhledávací strom: Dokonale vyvážený strom, AVL-strom, proměrná délka cestu v neyváženém binárním vyhledávacím stromě.
  • Cvičení: Topologické třídění.
29. 4. 2026
  • Přednáška: Binární strom -- dokončení. Seminumerické algoritmy.
  • Cvičení: Konstrukce optimálního stromu.

 

 

K této přednášce si lze stáhnout příklady. Dáváte-li přednost jazyku C, najdete příklady zde, a poud je vaším oblíbeným jazykem 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