Ciele
- Zvládnuť základné definície.
- Rozlíšiť verzie optimalizačných problémov.
- Určiť výpočtovú zložitosť pomocou funkcie \(O(f(n))\).
Postup
-
Príklad: Aká je výpočtová zložitosť jednotlivých krokov a celková výpočtová zložitosť popísaného algoritmu na výpočet súčinu dvoch štvorcových \(n\times n\) matíc \(A=(a_{ij}), B=(b_{ij})\)?
-
Príklad: Aká je výpočtová zložitosť jednotlivých krokov a celková výpočtová zložitosť popísaného algoritmu na výpočet mocniny \(A^p\) štvorcovej \(n\times n\) matice \(A=(a_{ij})\) pre \(p\in N\)?
-
Príklad: Aká je výpočtová zložitosť jednotlivých krokov a celková výpočtová zložitosť popísaného algoritmu na výpočet metrickej matice \[\Gamma(A)=A\oplus A^2\oplus\dots\oplus A^n,\] kde \(A=(a_{ij})\) je \(n\times n\) matica a operácia \(\oplus\) reprezentuje maximum a operácia \(\otimes\) reprezentuje \(+\)?
-
Príklad: Dokážte, že platí, resp. nájdite kontrapríklad, že neplatí rovnosť \[(\ln n)^k=O(n^\epsilon)\] pre všetky \(k\in N\) a pre všetky \(\varepsilon>0.\) Použite: \(g(n)=O(f(n))\) vtedy a len vtedy, ak existuje \(c>0\), že platí \(g(n)\leq c\cdot f(n)\).
-
Príklad: Aká je veľkosť vstupu pre grafové problémy.
-
Príklad: Nech \(f:N\rightarrow N\) a \(g:N\rightarrow N\) sú funkcie definované nasledovne \[f(n)=\left\{ \begin{array}{l} n^2\text{ ak } n \text{ je prvočíslo,} \\ n^3\text{ inak,} \end{array}\right. \quad \quad g(n)=\left\{ \begin{array}{l} n^2\quad \text{ ak } n \text{ je nepárne,} \\ n^3\quad \text{ inak.} \end{array}\right. \] Analyzujte, ktoré z rovností sú, kedy pravdivé: \[f(n)=O(g(n)),\ \text{resp. }\ g(n)=O(f(n)).\]Príklad: Analyzujte počet operácií Floydov-Warshallovho algoritmu.
Zdroje
Doplňujúce úlohy
- \( u,v,w,z \) sú ľubovoľné vrcholy,
- \(u,v,w,z \) sú pevne dané?
Úloha:
Popíšte metódu na odčítanie decimálnych
prirodzených čísel ako algoritmus.
Úloha:
Zostrojte algoritmus pre nasledujúci problém:
Je daný graf \( G=(V,E) \). Existuje v \( G \) cyklus \( (u,v,w,z,u) \) taký, že \( (v,z),\ (u,w)\not\in E \), pričom
Je daný graf \( G=(V,E) \). Existuje v \( G \) cyklus \( (u,v,w,z,u) \) taký, že \( (v,z),\ (u,w)\not\in E \), pričom
Úloha:
Zostrojte algoritmus pre nasledujúci problém:
Pre dané \( p\in N \) rozhodnite, či \( p \) je prvočíslo.
Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu.
Pre dané \( p\in N \) rozhodnite, či \( p \) je prvočíslo.
Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu.
Úloha:
Zostrojte algoritmus pre nasledujúci problém:
Pre dané \( x,y,z \in N \) rozhodnite, či existuje \( n>0,\ n\in N \) také, že platí: \( x^n+y^n=z^n. \)
Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu.
Pre dané \( x,y,z \in N \) rozhodnite, či existuje \( n>0,\ n\in N \) také, že platí: \( x^n+y^n=z^n. \)
Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu.
Úloha:
Zostrojte algoritmus pre nasledujúci problém:
Daný je graf \( G=(V,E) \) a \( s,t\in V \). Existuje v \(G \) cesta z
vrchola \( s \) do vrchola \( t \)?
Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu.
Fixujte reprezentáciu vstupu a popíšte zložitosť navrhnutého algoritmu.