Skip to content
Snippets Groups Projects
Commit 20f0aaa7 authored by Martin Mareš's avatar Martin Mareš
Browse files

Import minulé verze syllabů

parents
No related branches found
No related tags found
No related merge requests found
ADS1.md 0 → 100644
# TIN060: Algoritmy a datové struktury I
## Anotace
Úvodní přednáška o základních typech algoritmů a datových strukturách
potřebných pro jejich implementaci. Navazuje na výklad v přednášce
„Algoritmizace“ v předchozím semestru.
## Sylabus
(volitelná témata _kurzívou_, zbytek je povinný; hodinové dotace jsou orientační)
1. Prostředky pro popis složitosti algoritmů a operací nad datovými strukturami (1 přednáška)
* měření velikosti dat, počet kroků algoritmu jako funkce velikosti dat
* výpočetní model RAM
* asymptotická notace
1. Stromové datové struktury (1.5 přednášky)
* binární vyhledávací stromy
* AVL stromy
* (a,b)-stromy
* _červeno-černé stromy_
1. Hešování (1 přednáška)
* popis jednoduchých strategií řešení kolizí
* analýza průměrné časové složitosti vyhledávání
* univerzální hešování
1. Třídění (1 přednáška)
* analýza průměrného případu pro Quicksort, randomizovaný Quicksort
* dolní odhad složitosti porovnávacích třídících algoritmů (rozhodovací stromy)
1. Základní grafové algoritmy (1 přednáška)
* prohledávání do hloubky na neorientovaném grafu, detekce mostů _a artikulací_
* prohledávání do hloubky na orientovaném grafu, tranzitivní uzávěr, topologické číslování
* _detekce komponent silné souvislosti v lineárním čase_
1. Extremální cesty v grafech (2 přednášky)
* extremální cesty v acyklickém orientovaném grafu, metoda kritické cesty
* Dijkstrův algoritmus (zopakování binární haldy, srovnání implementace polem a binární haldou)
* Bellmanův-Fordův algoritmus (hledání záporných cyklů)
* _Floydův-Warshallův algoritmus_
1. Minimální kostra grafu (1 přednáška)
* Jarníkův a Borůvkův algoritmus
* _Kruskalův algoritmus a datová struktura pro Union-Find_
1. Metoda rozděl a panuj (2.5 přednášky)
* obecné schéma algoritmů typu rozděl a panuj, souvislost jejich složitosti s rekurentními rovnicemi
* substituční metoda řešení rekurentních rovnic a „master theorem (kuchařka)“
* jednoduché aplikace: binární vyhledávání, Mergersort, násobení čísel (Karatsuba-Ofman)
* složitější aplikace: Strassenovo násobení matic, _hledání mediánu v lin. čase v nejhorším případě_
1. Dynamické programování (1 přednáška)
* obecný princip dynamického programování
* editační vzdálenost řetězců
* _optimální vyhledávací stromy_
ADS2.md 0 → 100644
# TIN061: Algoritmy a datové struktury II
## Anotace
Přednáška o různých typech algoritmů a jejich časové složitosti (navazuje na TIN060).
## Sylabus
(volitelná témata _kurzívou_, zbytek je povinný; hodinové dotace jsou orientační)
1. Vyhledávání v textu (2 přednášky)
* algoritmus Knuth-Morris-Pratt
* algoritmus Aho-Corasicková
* _algoritmus Rabin-Karp_
1. Toky v sítích (2 přednášky)
* algoritmus zlepšující cesty
* Dinicův algoritmus
* Goldbergův algoritmus
* párování v bipartitním grafu
* _hledání maximálního toku minimální ceny_
1. Algebraické algoritmy (1.5 přednášky)
* diskrétní Fourierova transformace, její motivace a aplikace
* algoritmus FFT a jeho implementace obvodem „butterfly“
* _příbuzné transformace (kosinová komprese – JPEG)_
1. Paralelní aritmetické algoritmy (1.5 přednášky)
* třídící sítě (implementace jednoho třídícího algoritmu – buď merge-sort nebo bitonic-sort)
* carry look-ahead algoritmus pro sčítání čísel
1. Základní geometrické algoritmy v rovině (1 přednáška)
* konvexní obal
* princip zametání roviny řízeného událostmi
* _Voroného diagram a Delaunayova triangulace (Fortunův algoritmus)_
1. Převoditelnost problémů a třídy časové složitosti (2 přednášky)
* polynomiální transformace a redukce mezi rozhodovacími problémy
* nedeterministické algoritmy, třídy P a NP
* NP-úplnost
1. Aproximační algoritmy (1 přednáška)
* použití aproximačních algoritmů, poměrová a relativní chyba
* jeden až dva jednoduché příklady aproximačních algoritmů (knapsack, bin-packing, rozvrhování na paralelních strojích) včetně horního odhadu pro jejich poměrovou (nebo relativní) chybu
* aproximační schéma: princip a příklad
1. Pravděpodobnostní algoritmy a kryptografie (1 přednáška)
* algoritmy typu Monte Carlo (Rabinův-Millerův test prvočíselnosti)
* šifrování s veřejným klíčem (algoritmus RSA)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment