®ádná obecnì uznávaná definice algoritmu neexistuje, zadefinujeme si alespoò výpoèetní model,
a za~algoritmy budeme pova¾ovat programy v tomto modelu.
-\>{Základní vlastnosti výpoèetního modelu:}
-\itemize\ibull
-\:vstup: $n$ èísel $($mù¾eme se omezit na èísla, nebo» cokoli jiného
-umíme do èísel zakódovat$)$
-\:výstup: $m$ èísel
+\s{Základní vlastnosti výpoèetního modelu:}
-\:elementární operace:
+V první øadì potøebujeme modelu sdìlit, s èím má pracovat, a pak se
+dovìdìt, jak to dopadlo. Bez újmy na obecnosti mù¾eme pova¾ovat $n$
+èísel za {\sl vstup} a za {\sl výstup} $m$ èísel $($mù¾eme se omezit
+na èísla, nebo» cokoli jiného umíme do èísel zakódovat$)$.
-\itemize\idot
-\:aritmetické operace $(+, -, *, $mod$,\dots)$
-\:logické operace
-\:práce s pamìtí
-\:øídící operace (skoky, podmínìné skoky, halt,\dots)
-\endlist
+Dále by mìl výpoèetní model umìt provádìt {\sl elementární operace},
+co¾
+jsou nejen ty aritmetické $(+,-,*,mod \dots)$ a logické $($negace,
+and, or
+\dots$)$, ale také øídící operace $($skoky, podmínìné skoky, halt
+\dots$)$
+a práci s pamìtí.
-\:èas: $t(x)$ = poèet krokù výpoètu pøi zpracování vstupu~$x$
-\:prostor: $s(x)$ = poèet bunìk pamìti pou¾itých pøi zpracování vstupu~$x$
-\endlist
+{\sl Èas bìhu algoritmu $t(x)$} pro vstup $x$ mìøíme jako poèet
+elementárních operací, které program provedl pøi zpracování vstupu
+$x$.
\s{Definice:} {\I Èasová slo¾itost v nejhor¹ím pøípadì }
b) vstup mìøíme v bitech a operace pak trvá $\sim \log(x)$
-Poznámka: pro normální algoritmy tyto dvì definice dávají toté¾
+\>(pro normální algoritmy tyto dvì definice dávají toté¾)
\bigskip
\>{Které slo¾itosti jsou rozumné a které nepou¾itelné?}