O předmětu

Předmět má studenty seznámit s matematickými aplikacemi v informatice, zejména v oblastech ukládání čísel, numerické stability a výpočetní složitostí algoritmů, využití teorie grafů při vyhledávání a databázových operacích nebo aplikacemi výrokového a predikátového počtu; cvičení doplní teoretické poznatky úlohami v jazyce Python.

Co se naučíš

Po úspěšném absolvování budou studenti schopni implementovat vybrané algoritmy v jazyce Python a porozumět jejich matematické podstatě, problémům spojeným s časovým trváním výpočtů a vlivu zaokrouhlovacích chyb na výsledek získaný výpočtem na počítači.

Obsah předmětu

• Ukládání čísel v počítači. Limity výpočetní přesnosti, zaokrouhlovací chyby. • Algoritmy. Pojem algoritmu, zápis pomocí pseudokódu. • Časová a paměťová náročnost algoritmů. Landauova notace (velké O), porovnání růstu některých běžných funkcí. • Iterativní versus rekurzivní algoritmy. Vybrané algoritmy typu rozděl a panuj. Dynamické programování. • Základní datové struktury: pole, spojový seznam, fronta, zásobník, operace na těchto strukturách. • Metody třídění. Klasifikace třídicích algoritmů, jejich časová a paměťová náročnost. Vybrané třídicí algoritmy a jejich implementace. • Binární kořenové stromy, vyhledávací stromy. 2-3-4 strom, optimální vyhledávací strom, Huffmanův strom, halda. • Vybrané numerické algoritmy, jejich výpočetní složitost a přesnost. • Využití grafů pro reprezentaci reálných úloh. Nalezení nejkratší cesty a minimální kostry. • Teoretická východiska algoritmizace. Výroková a predikátová logika, automaty. Korektnost algoritmu. • Úvod do teorie výpočetní složitosti. Třídy složitosti, populární příklady NP-úplných úloh.

Literatura

Základní:

Jak uspět v předmětu

Doporučená příprava:

  • Pravidelná příprava během semestru místo drcení na zkoušku
  • Přednáškové slidy a materiály dostupné přes Moodle VŠE (dl.vse.cz)
  • Stará zkouška / typové otázky — zeptej se cvičícího nebo hledej na InSIS
  • Studijní skupiny a sdílení poznámek
Na co si dát pozor:
  • Přečti si sylabus — co je povinná vs. doporučená literatura
  • Podmínky zápočtu (zápočtové testy, projekty, docházka)
  • Termíny zkoušek zapisovat včas — kapacita bývá omezená

Doporučené zdroje

✏️ Upravit wiki obsah

Používej Markdown: ## Nadpis, **tučně**, `kód`, - odrážky, > citace

Heslo si vyžádej od správce wiki.