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