Asymptotic Bounds

  • asymptotic upper bound (strict)

  • asymptotic upper bound

  • asymptotically tight bounds

  • asymptotic lower bound

  • asymptotic lower bound (strict)

  • The running time of an algorithm is the number of primitive operations or steps executed.

    • The worst-case running time (denoted by ) is the maximum number of steps taken on any instance of size .
  • (In general, )

  • If exists, then

  • Transitivity

    • the same for
  • Reflexivity

    • for
  • see also Order of sequences

  • . (where )

  • (where )

  • (where )

  • If then (given and are non-negative)

  • () (e3.1-2)

  • (e3.1-7)

  • (e3.1-4)

  • If is a polynomial of degree , in which the leading coefficient is positive, then

  • (In particular, every exponential grows faster than every polynomial)

Common Running Times

NameRunning Time
constant time
log-logarithmic
logarithmic time
polylogarithmic time
fractional power
linear time
linearithmic time
quasilinear time
quadratic time
cubic time
polynomial time
exponential time
factorial time

Chapter 2: Algorithm Analysis

2.1: Computational Tractability

  • Proposed Definition of Efficiency:

    1. An algorithm is efficient if it performs well on real input instances.
    2. An algorithm is efficient if it performs quantitatively better than brute-force search in worst-case scenarios.
    3. An algorithm is efficient if it runs in polynomial time.
  • A Brute-force search is a straightforward but typically inefficient approach involving the examination of all possible solutions