$ \Theta(f(n)) = \{ g: \mathbb{R}^{+} \rightarrow \mathbb{R}^{+}\ |\ \begin{array}{l} \exists c_1, c_2 \in \mathbb{R}^+\cr \exists n_0 \in \mathbb{N} \end{array}\ such\ that\ \forall\ n \ge n_0,\ \ c_1f(n) \le g(n) \le c_2f(n) \}$
$ O(f(n)) = \{ g: \mathbb{R}^{+} \rightarrow \mathbb{R}^{+}\ |\ \begin{array}{l} \exists c \in \mathbb{R}^+\cr \exists n_0 \in \mathbb{N} \end{array}\ such\ that\ \forall\ n \ge n_0,\ \ 0 \le g(n) \le cf(n) \}$
$ \Omega(f(n)) = \{ g: \mathbb{R}^{+} \rightarrow \mathbb{R}^{+}\ |\ \begin{array}{l} \exists c \in \mathbb{R}^+\cr \exists n_0 \in \mathbb{N} \end{array}\ such\ that\ \forall\ n \ge n_0,\ \ 0 \le cf(n) \le g(n) \}$
$ o(f(n)) = \{ g: \mathbb{R}^{+} \rightarrow \mathbb{R}^{+}\ |\ \begin{array}{l} \forall c \in \mathbb{R}^+\cr \exists n_0 \in \mathbb{N} \end{array}\ such\ that\ \forall\ n \ge n_0,\ \ 0 \le g(n) \le cf(n) \}$
$ \omega(f(n)) = \{ g: \mathbb{R}^{+} \rightarrow \mathbb{R}^{+}\ |\ \begin{array}{l} \forall c \in \mathbb{R}^+\cr \exists n_0 \in \mathbb{N} \end{array}\ such\ that\ \forall\ n \ge n_0,\ \ 0 \le cf(n) \le g(n) \}$
Notațiile asimptotice sunt adesea folosite pentru a ne referi la funcții arbitrare cu o anumită creștere. Pentru simplitate, putem scrie expresii aritmetice astfel:
$ f(n) = \Theta(n) + O(\log(n)) $
Care trebuie citită: $ \exists g \in \Theta(n)$ și $ \exists h \in O(\log(n))$ a.î. $ f(n) = g(n) + h(n),\ \forall n \in \mathbb{R}^{+}$ .
Putem de asemenea scrie ecuații:
$ \Theta(n^2) = O(n^2) + o(n)$
Care ar trebui citite: $ \forall f \in \Theta(n^2),\ \exists g \in O(n^2)$ și $ \exists h \in o(n)$ a.î. $ f(n) = g(n) + h(n),\ \forall n \in \mathbb{R}^{+}$ .
Observați că ecuațiile nu sunt simetrice și ar trebui citite de la stânga la dreapta. De exemplu:
$\Theta(n) = O(n)$
Deși e adevărat că, pentru orice funcție $ \Theta(n)$ există o funcție egală în $ O(n)$ , putem vedea că există funcții în $ O(n)$ pentru care nu există niciun corespondent în $ \Theta(n)$ .
Ca regulă, fiecare notație asimptotică din stânga unui egal, ar trebui citită ca o funcție cuantificată universal ($ \forall f$ ) din acea clasă, iar fiecare notație asimptotică din dreapta unui egal ar trebui citită ca o funcție cuantificată existențial ($ \exists g$ ) din clasa respectivă.
$\left(\frac{\omega(n^2)}{\Theta(n)}\right) = \Omega(n) + o(n)$
$ \forall f \in \omega(n^2)\ and\ \forall g \in \Theta(n),\ \exists h \in \Omega(n)$ și $ \exists j \in o(n)$ a.î. $ \left(\frac{f(n)}{g(n)}\right) = h (n) + j(n),\ \forall n \in \mathbb{R}^{+}$
1. Dați exemple de câte o funcție din următoarele clase de complexitate:
2. Pentru fiecare din perechile de mai jos, dați un exemplu concret de constante pentru care inegalitățile implicate în definiția clasei de complexitate sunt adevărate:
3. Găsiți două funcții $ f$ și $ g$, astfel încât:
4. Verificați valoarea de adevăr a următoarelor propoziții:
5. Aduceți următoarele la o formă simplă (o clasă de complexitate ce depinde de o anume funcție):
6. Demonstrați/infirmați următoarele propoziții: