Základy algoritmizace

Jaro 2024

Přednáška

Středa 10:00, posluchárna B-103
Břehová 7, Praha 1

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

14. 2. 2024
  • 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 -- první část.
  • Cvičení:Metoda shora dolů. Řešení rekurentních vztahů.
21. 2. 2024
  • 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.
  • Cvičení:Řesení rekurentních vztahů -- dokončení. Spojový seznam (odvození algoritmů, jejich složitost, jejich implemenatce).
28. 2. 2024
  • Přednáška: Seznam - dokončení. Strom. Binární vyhledávací strom, dokonalý strom.
  • Cvičení: Spojový seznam.
6. 3. 2024
  • Přednáška: Zpracování stromu. Halda.
  • Cvičení: Implementace binárního vyhledávacího stromu a algoritmů pro jeho zpracování (např. výpis uspořádaných hodnot ze stromu). Odvození složitosti těchto algoritmů.
13. 3. 2024
  • Přednáška: B-strom. 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 vyváženého stromu (dynamické programování), úloha n dam (backtracking) a další.
20. 3. 2024
  • Přednáška: Reprezentace grafu. Metody návrhu algoritmů: Rozděl a panuj, hladový algoritmus (nejkratší cesta v grafu).
  • Cvičení: Metody návrhu algoritmů.
27. 3. 2024
  • Přednáška: Dynamické programovální, backtracking, obecné zpracování stavového stromu úlohy. Metoda Monte Carlo. Rekurze -- úvod.
  • Cvičení: Metody návrhu algoritmů. Hanojské věže.
3. 4. 2024
  • Přednáška: Rekurze. 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.
10. 4. 2024
  • Přednáška: Třídění vývěrem, bublinkové třídění, třídění přetřásáním, třídění haldou, třídění stromem, quicksort, introspektivní třídění (introsort).
  • 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.
17. 4. 2024
  • Přednáška: Třídění: Hledání k-tého prvku podle velikosti; třídění vkládáním, přihrádkové a lexikografické třídění. Abecední řazení.
  • Cvičení: Implementace třídicích algorimů pro pole a seznam.
24. 4. 2024
  • Přednáška: Použití binárního vyhledávacího stromu.
  • Cvičení: Implementace třídicích algorimů pro pole a seznam, konstrukce statického dokonale vyváženého stromu.
1. 5. 2024
  • Přednáška: Odpadá - státní svátek.
  • Cvičení: Konstrukce optimálního binárního vyhledávacího stromu.
8. 5. 2024
  • Přednáška: Odpadá - státní svátek.
  • Cvičení: Převod výrazu do obráceného polského zápisu, přesnost aritmetiky reálných čísel.
8. 5. 2024
  • Náhradní přednáška: Seminumerické algoritmy.
  • Cvičení: Převod výrazu do obráceného polského zápisu, 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