Základy algoritmizace

Jaro 2025

Přednáška

Čtvrtek 10:00, posluchárna T-101
Trojanova 13, Praha 2

Literatura

Základní doporučenou literaturou je skriptum "Základy algoritmizace v C++", 3. vydání.
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

20. 2. 2025
  • 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ů.
27. 2. 2025
  • Přednáška: Příklad: Složitost vyhledání největšího prvku v poli -- dokončení. 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).
6. 3. 2025
  • Přednáška: Spojevý seznam - dokončení. Iterátor. Strom. Binární vyhledávací strom, dokonalý strom.
  • Cvičení: Spojový seznam.
13. 3. 2025
  • Přednáška: Zpracování binárního vyhledávacího stromu. Halda. B-strom a jeho varianty.
  • Cvičení: Implementace binárního vyhledávacího stromu. Algoritmy pro jeho zpracování: odvození, složitost, implementace.
20. 3. 2025
  • Přednáška: Hešová tabulka. Fronta, zásobník. Kruhová fronta, fronta s předbíháním. Reprezentace množiny.
  • 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ší.
27. 3. 2025
  • Přednáška: Metody návrhu algoritmů: Rozděl a panuj, hladový algoritmus (nejkratší cesta v grafu), dynamické programování, backtracking.
  • Cvičení: Metody návrhu algoritmů.
3. 4. 2025
  • Přednáška: Metody návrhu algoritmu -- dokončení: Metoda Monte Carlo. Rekurze -- úvod.
  • Cvičení: Metody návrhu algoritmů. Hanojské věže.
10. 4. 2025
  • Přednáška: Rekurze - dokončení. 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.
17. 4. 2025
  • Přednáška: Třídění: quicksort -- dokončení, 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, jejich úprava pro spojový seznam, jak se změní složitost při aplikaci na seznam ve srovnání s aplikací na pole.
1. 5. 2025
  • Přednáška: Odpadá -- státní svátek.
  • Cvičení: Topologické třídění.
24. 4. 2025
  • Přednáška: Abecední řazení -- dokončení. Binární vyhledávací strom.
  • Cvičení: Topologické třídění.
24. 4. 2025
  • Přednáška: Abecední řazení -- dokončení. Binární vyhledávací strom.
  • Cvičení: Topologické třídění.
1. 5. 2025
  • Přednáška: Odpadá - státní svátek.
  • Cvičení: Konstrukce optimálního binárního vyhledávacího stromu.
8. 5. 2025
  • Přednáška: Odpadá - státní svátek.
  • Cvičení: Konstrukce statického dokonale vyváženého stromu.
15. 5. 2025
  • Přednáška: Použití binárního vyhledávacího stromu -- dokončení. Seminumerické algoritmy (číselné soustavy, zobrazení celých čísel v počítači, algoritmy pro operace s nimi, zobrazení reálných čísel v počítači,).
  • Cvičení: Implementace dlouhých celých čísel (sčítání, odečítání).
20. 5. 2025
  • Přednáška: Seminumerické algoritmy - dokončení: Algoritmy pro operace s reálnými čísly, desítková reálná čísla, přesnost výpočtů s reálnými čísly.
  • 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