This document provides an overview of algorithms and asymptotic notation. It discusses that asymptotic notation allows algorithms to be compared based on how their running time grows relative to the input size. The key points covered include:
- Asymptotic notation describes the asymptotic behavior of a function, such as how fast algorithm running time grows relative to the input.
- Big O notation describes the worst case upper bound. If f(n) is O(g(n)), f(n) grows no faster than g(n).
- Common time complexities include O(1), O(log n), O(n), O(n log n), O(n^2).
- The dominating factor determines