this dir | view | cards | source | edit | dark top

Zkouška

Zkouška
Definice algoritmu

Definice: Výpočetní model RAM

Definice algoritmu

Definice: Čas a prostor konkrétního výpočtu, časová a prostorová složitost

Definice algoritmu

Definice: Asymptotická notace: O, Ω, Θ

Základní grafové algoritmy

Algoritmus: Prohledávání do šířky (BFS)

Základní grafové algoritmy

Algoritmus: Prohledávání do hloubky (DFS)

Základní grafové algoritmy

Definice: Klasifikace hran v DFS

Základní grafové algoritmy

Algoritmus: Hledání mostů v neorientovaných grafech

Algoritmy pro orientované grafy

Algoritmus: Detekce cyklů pomocí DFS

Algoritmy pro orientované grafy

Definice: Acyklický orientovaný graf (DAG), zdroj, stok

Algoritmy pro orientované grafy

Definice: Topologické uspořádání DAGu

Algoritmy pro orientované grafy

Algoritmus: Konstrukce topologického uspořádání

Algoritmy pro orientované grafy

Příklad: Princip indukce podle topologického uspořádání

Algoritmy pro orientované grafy

Algoritmus: Počet cest mezi dvěma vrcholy v DAGu

indukcí přes topologické uspořádání, v čase Θ(n+m)\Theta(n+m)

Algoritmy pro orientované grafy

Definice: Silná souvislost, její komponenty, graf komponent

Algoritmy pro orientované grafy

Algoritmus: Rozklad grafu na komponenty silné souvislosti

Nejkratší cesty

Definice: Vzdálenost v grafu

Nejkratší cesty

Věta: Trojúhelníková nerovnost pro vzdálenost

Nejkratší cesty

Algoritmus: Dijkstrův algoritmus

Nejkratší cesty

Příklad: Implementace Dijkstrova algoritmu pomocí haldy

Nejkratší cesty

Algoritmus: Obecný relaxační algoritmus

Nejkratší cesty

Algoritmus: Bellmanův-Fordův algoritmus

Minimální kostry

Algoritmus: Jarníkův algoritmus

Minimální kostry

Věta: Lemma o řezech

Minimální kostry

Věta: Jednoznačnost minimální kostry

Minimální kostry

Algoritmus: Borůvkův algoritmus

Minimální kostry

Algoritmus: Kruskalův algoritmus

Minimální kostry

Algoritmus: Union-Find

Vyhledávací stromy

Definice: Rozhraní slovníku, množiny a jejich uspořádaných verzí

Vyhledávací stromy

Definice: Binární vyhledávací strom (BVS)

Vyhledávací stromy

Algoritmus: Operace Find, Insert a Delete v BVS

Vyhledávací stromy

Definice: Dokonale vyvážený strom

Vyhledávací stromy

Definice: AVL strom

Vyhledávací stromy

Věta: Odhad hloubky AVL stromu

Vyhledávací stromy

Definice: Rotace hrany stromu

Vyhledávací stromy

Algoritmus: Operace Insert a Delete v AVL stromech

(a,b)-stromy

Definice: Vícecestný vyhledávací strom a (a,b)-strom

(a,b)-stromy

Věta: Odhad hloubky (a,b)-stromu

(a,b)-stromy

Algoritmus: Operace Insert a Delete v (a,b)-stromech

(a,b)-stromy

Příklad: Volba parametrů (a,b)-stromu

Písmenkové stromy (trie)

Definice: Trie

Písmenkové stromy (trie)

Algoritmus: Operace Find, Insert a Delete v trii

Písmenkové stromy (trie)

Příklad: Použití trie k reprezentaci čísel

Hešování

Definice: Hešování s řetězci v přihrádkach

Hešování

Algoritmus: Operace Find, Insert a Delete v hešování s řetězci

Hešování

Algoritmus: Dynamické rozšiřování tabulky

Hešování

Definice: c-univerzální systém funkcí

Hešování

Věta: Konstrukce 1-univerzálního systému pomocí skalárního součinu

Hešování

Věta: Průměrná složitost operací při náhodné volbě hešovací funkce z c-univerzálního systému

Rozděl a panuj

Algoritmus: Třídění sléváním (Mergesort)

Rozděl a panuj

Algoritmus: Násobení n-ciferných čísel v čase O(nlog23)O(n^{\log_23})

Rozděl a panuj

Věta: Kuchařková věta (Master theorem)

Rozděl a panuj

Algoritmus: Strassenův algoritmus na násobení matic (vzorce nezkouším)

Třídění a vyhledávání

Algoritmus: Quickselect – hledání k-tého nejmenšího prvku

Třídění a vyhledávání

Věta: Průměrná časová složitost Quickselectu při náhodné volbě pivota

Třídění a vyhledávání

Algoritmus: k-tý nejmenší prvek v lineárním čase (algoritmus s pěticemi)

Třídění a vyhledávání

Algoritmus: Quicksort

Třídění a vyhledávání

Věta: Průměrná časová složitost Quicksortu při náhodné volbě pivota

Dynamické programování

Algoritmus: Nejdelší rostoucí podposloupnost

Dynamické programování

Algoritmus: Editační vzdálenost řetězců

Dynamické programování

Algoritmus: Konstrukce optimálního BVS

Dynamické programování

Algoritmus: Floydův-Warshallův algoritmus na výpočet vzdáleností v grafu

Dynamické programování

Příklad: Princip dynamického programování

Dynamické programování

Příklad: Grafová interpretace dynamického programování

Hurá, máš hotovo! 🎉
Pokud ti moje kartičky pomohly, můžeš mi koupit pivo.