Know the complexity of the algorithms
- Transfer

Search

Sorting

Data structures

Heaps

Graph view
Let a graph with | V | vertices and | E | ribs then

Asymptotic growth notation

- (O - large) is the upper bound, while (Omega - large) is the lower bound. Theta requires both (O - large) and (Omega - large), so it is an accurate estimate (it should be limited both from above and from below). For example, an algorithm requiring Ω (n logn) requires at least n logn time, but the upper bound is not known. An algorithm requiring Θ (n logn) is preferable because it requires at least n logn (Ω (n logn)) and no more than n logn (O (n logn)).
- f (x) = Θ (g (n)) means that f grows like g when n tends to infinity. In other words, the growth rate f (x) is asymptotically proportional to the growth rate g (n).
- f (x) = O (g (n)). Here the growth rate is not faster than g (n). O big is most useful because it represents the worst case.
In short, if an algorithm has complexity __ then its efficiency is __

O growth chart - large
