Hubička 22. 5. 2026
Zadání:
Varianta A:
Popište Kruskalův algoritmus na hledání nejmenší kostry spolu s důkazem správnosti a časovou složitostí.
Definujte topologické uspořádání grafu a popište algoritmus na jeho sestrojení.
Vymyslete algoritmus, který vypíše nejdelší (o nejvíce hranách) z nejlevnější cest mezi dvěma vrcholy v neorientovaném grafu s kladnými hodnotami hran.
Vymyslete algoritmus, který v posloupnosti najde nejdelší souvislý úsek, ve kterém jsou všechny prvky navzájem různé.
Bonus: Fibonacciho soustava: Každé číslo je zapsáno jako posloupnost 0 a 1, kde číslo se rovná součtu Fibonacciho čísel odpovídajících indexům jedniček (odzadu). Zápis čísla nazveme "hezkým", pokud se v něm nikde nenachází dvě jedničky za sebou, také víme, že pro každé číslo existuje jednoznačný "hezký" zápis. Vymyslete algoritmus, který sečte dva "hezké" zápisy a vypíše "hezký" zápis jejich součtu v subkvadratickém čase.