Watching the function growth based on selected parameter
Omitting multiplicative and additive constants
Asymptotical upper bound
is asymptotical upper bound for (at most instructions)
Asymptotical lower bound
is asymptotical lower bound for (at least instructions)
Asymptotically tight bound
is asymptotical tight bound for (approximately instructions)
Imprecise bounds and
is an imprecise upper bound for
is an imprecise lower bound for
Properties of asymptotic bounds
Transitivity:
Reflexivity:
Symmetry:
Transpose symmetry:
and are not always in relation - either with //
Analysis of algorithms
Watching algorithm’s complexity through resource requirements:
- number of operations - time
- memory consumption
- network accesses
Random-Access Machine: abstract machine for approximating hardware
- uniprocessor, random access to memory locations
- constant time for most operations, numbers take limited amount of memory
- no parallelism, memory hierarchies (caches)
In most cases:
- only worst and average cases are important
- only the fastest growing (asymptotically important) terms are important
