Zkouškové otázky z Algoritmů a datových struktur II
13. 1 dopoledne
- Goldbergův algoritmus
- Je dáno seno a jehly. Pro každý znak sena najděte co nejdelší výskyt jehly, který tam začíná.
- Převeďte 3D-párování na SAT.
13. 1 odpoledne
- Třídění pomocí komparátorů
- Mějme děravou šachovnici. Jak ji pokrýt kostkami 1× 2 políčka?
- Maximální tok v síti, jejíž hrany mají celočíselné kapacity mezi 0 a C.
15. 1 dopoledne
- Fourierova transformace: definice DFT, algoritmus FFT.
- Odčítání hradlovou sítí.
- Poslanci jsou členy mnoha různých komisí. Každé komisi chceme vybrat předsedu a tajemníka tak, aby žádný poslanec nezastával více funkcí.
15. 1 odpoledne
- Průsečíky úseček.
- Je dáno seno a jehly. Pro každou jehlu spočítejte, kolikrát se vyskytuje v seně. Snažte se o lineární časovou složitost vzhledem k velikosti vstupu, nezávisle na počtu výskytů.
- Jak se změní obtížnost problemu Nezávislá množina, pokud ho omezíme na grafy s vrcholy stupně nejvýše 4, případně 2. Bude stále NP-úplný, nebo už polynomiální?
20. 1 dopoledne
- Algoritmus Aho-Corasicková a jeho analýza
- Je dán mnohoúhelník v rovině (ne nutně konvexní). Najděte nejdelší vodorovnou úsečku, která leží celá uvnitř něj.
- Máme šachovnici N×N bez některých políček. Na zbývající políčka chceme rozestavět co nejvíce šachových věží tak, aby se žádné dvě neohrožovaly.
20. 1 odpoledne
- Dinicův algoritmus.
- Navrhněte hradlovou síť co nejmenší hloubky, která pro dvě n-bitová čísla rozhodne, zda je první menší než druhé.
- Převeďte obarvitelnost grafu třemi barvami na SAT.
22. 1 dopoledne
- Třídy P a NP. NP-úplné problémy. Převod nezávislé množiny na SAT.
- V daném řetězci nad abecedou {a,b} chceme nalézt nejdelší Fibonacciho podslovo. Fibonacciho slova jsou definována takto: F1=a, F2=b, Fn+2=FnFn+1.
- Pro zadané dva mnohoúhelníky zjistěte, zda jsou jejich vnitřky disjunktní.
22. 1 odpoledne
- Třídění pomocí komparátorů
- Najděte ve slovníku dvojici slov s co nejdelším překryvem (prefix jednoho slova je suffixem druhého; slovo se může překrývat i se sebou samým, ovšem pouze částí své délky).
- Vymyslete pseudopolynomiální algoritmus pro {\sit problém tří loupežníků:} Dostaneme posloupnost přirozených čísel, lze ji rozdělit na 3 části se stejným součtem?
27. 1 dopoledne
- Goldbergův algoritmus
- Navrhněte hradlovou síť, která dostane posloupnost n bitů a rozhodne, zda v ní je stejně nul jako jedniček.
- Pro daný řetězec α najděte nejdelší řetězec β≠α takovy, že β je prefixem i suffixem řetězce α.
29. 1 dopoledne
- Průsečíky úseček.
- Je dáno seno a jehly. Pro každý znak sena najděte co nejdelší výskyt jehly, který tam začíná.
- Jak se změní obtížnost problemu Nezávislá množina, pokud ho omezíme na grafy s vrcholy stupně nejvýše 4, případně 2. Bude stále NP-úplný, nebo už polynomiální?
29. 1 odpoledne
- Fourierova transformace: definice DFT, algoritmus FFT.
- Navrhněte hradlovou síť na nalezení pozice nejlevějšího jedničkového bitu v posloupnosti N bitů.
- V rovině je S svišťů a D děr. Přiřaďte každému svišti jinou díru vzdálenou nejvýše δ.
3. 2 dopoledne
- Maximální tok a Fordův-Fulkersonův algoritmus.
- Latinský obdélník a×n rozšiřte na (a+1)×n.
- Najděte největší nezávislou množinu v intervalovém grafu.