Skip to content

Algorithmen & Datenstrukturen (AlDa)

import DriveAsset from ’../../../../components/DriveAsset.astro’;


For functions f,g:N→R+f, g: \mathbb{N} \to \mathbb{R}^+:

  • Big-OO (Upper bound): f(n)∈O(g(n))β€…β€ŠβŸΊβ€…β€Šβˆƒc>0,n0∈N:βˆ€nβ‰₯n0,β€…β€Šf(n)≀cβ‹…g(n)f(n) \in \mathcal{O}(g(n)) \iff \exists c > 0, n_0 \in \mathbb{N} : \forall n \ge n_0, \; f(n) \le c \cdot g(n)
  • Big-Ξ©\Omega (Lower bound): f(n)∈Ω(g(n))β€…β€ŠβŸΊβ€…β€Šβˆƒc>0,n0∈N:βˆ€nβ‰₯n0,β€…β€Šf(n)β‰₯cβ‹…g(n)f(n) \in \Omega(g(n)) \iff \exists c > 0, n_0 \in \mathbb{N} : \forall n \ge n_0, \; f(n) \ge c \cdot g(n)
  • Big-Θ\Theta (Tight bound): f(n)∈Θ(g(n))β€…β€ŠβŸΊβ€…β€Šf(n)∈O(g(n))∧f(n)∈Ω(g(n))f(n) \in \Theta(g(n)) \iff f(n) \in \mathcal{O}(g(n)) \land f(n) \in \Omega(g(n))

For recurrences of the form T(n)=aT(n/b)+f(n)T(n) = a T(n/b) + f(n) with aβ‰₯1,b>1a \ge 1, b > 1:

Let ccrit=log⁑bac_{\text{crit}} = \log_b a.

  1. If f(n)=O(nc)f(n) = \mathcal{O}(n^c) where c<ccritc < c_{\text{crit}}, then: T(n)=Θ(nlog⁑ba)T(n) = \Theta\left(n^{\log_b a}\right)
  2. If f(n)=Θ(nccritlog⁑kn)f(n) = \Theta\left(n^{c_{\text{crit}}} \log^k n\right) for kβ‰₯0k \ge 0, then: T(n)=Θ(nlog⁑balog⁑k+1n)T(n) = \Theta\left(n^{\log_b a} \log^{k+1} n\right)
  3. If f(n)=Ξ©(nc)f(n) = \Omega(n^c) where c>ccritc > c_{\text{crit}} and regularity condition holds (af(n/b)≀kf(n)a f(n/b) \le k f(n) for k<1k < 1), then: T(n)=Θ(f(n))T(n) = \Theta(f(n))