Zkoušky z ADS2
20. 1.
- Algoritmus RSA.
- Rabinův-Karpův algoritmus.
- Jsou dány dva pěstované stromy, zjistěte, jestli je jeden podstromem druhého. (Definice: pěstovaný strom má určen kořen a v každém vrcholu pořadí jeho synů; podstrom je určen vrcholem a obsahuje všechny jeho potomky.)
- Mějme posloupnost N dominových kostek, na každé jsou dvě čísla v rozsahu 0 až T – horní a dolní číslo. Určete, které kostky otočit (prohodit horní a dolní číslo), aby se součet všech horních a všech dolních čísel lišily co nejméně.
27. 1.
- Goldbergův algoritmus (formulace a každý svou část analýzy).
- Spočítejte diskrétní Fourierovu transformaci vektoru (2,1,2,1,2,1,2,1).
- Navrhněte hradlovou síť, která dostane dvě N-bitová binární čísla A a B a rozhodne, zda A>B.
- Rozhodněte, zda je následující problém v P nebo NP-úplný: "Je dán graf, jehož všechny vrcholy mají stupeň nejvýše 4, a číslo K. Existuje v grafu nezávislá množina o alespoň K vrcholech?"
3. 2.
- Algoritmus Aho-Corasicková pro vyhledávání v textu.
- 2-aproximace problému obchodního cestujícího.
- Je dána množina parabol tvaru y=ax2+bx+c, kde a>0.
Nalezněte jejich průsečíky.
(*) Co když může být koeficient a také záporný? - Nalezněte polynomiální algoritmus pro následující problém: Mějme šachovnici m×n s některými políčky děravými. Lze ji pokrýt kostkami 1×2 tak, aby kostky nezasahovaly do děr a všechna ostatní políčka byla pokryta právě jednou kostkou? (Kostky je možno otáčet.)
10. 2.
- Dinicův algoritmus.
- Definice: třídy P a NP, NP-úplné problémy. Cookova věta.
- Navrhněte komparátorovou síť pro zatřídění jednoho prvku do setříděné poslopnosti.
- Je dán text a číslo K. Nalezněte podřetězec délky K, který se v textu vyskytuje nejčastěji.
- (*) Spočtěte 2↑n mod 13 (přičemž 2↑1=2, 2↑(n+1) = 22↑n).
17. 2.
- Problém batohu: pseudopolynomiální algoritmus a aproximační schéma.
- Spočítejte diskrétní Fourierovu transformaci vektoru (i,-1,-i,1,i,-1,-i,1).
- Algoritmus na výpočet obsahu n-úhelníku (ne nutně konvexního).
- Ukažte, jak převést SAT na řešitelnost soustavy kvadratických rovnic (polynomy stupně 2 v libovolně mnoha proměnných, řešitelnost v reálných číslech).
9. 4.
- Goldbergův algoritmus.
- Rabinův-Karpův algoritmus.
- Jsou dány dva řetězce. Zjistěte, zda je jeden rotací druhého.
- Je dáno N množin bodů v rovině. Zjistěte, zda jsou jejich konvexní obaly disjunktní.
- (*) Spočtěte kombinační číslo "n nad k" modulo 42.