- Algorithms
- Measuring performance
- Time & Space complexity
- Big O notation
- Math algorithms
- Sort
- Search
- Misc. algorithms and problems solving
The absolute running time of an algorithms cannot be predicted, since it depends on a number of factors.
- Programming language used to implement the algorithm.
- The computer the program runs on.
- Other programs running at the same time.
- Quality of the operating system.
We evaluate the performance of an algorithm in terms of its input size.
Time complexity -> Amount of time taken by an algorithm to run, as a function of input size.
Space complexity -> Amount of memory taken by an algorithm to run, as a function of input size.
=> By evaluating against the input size, the analysis is not only machine independent but the comparison is also more appropriate.
Asymptotic notations:
- Big O Notation (O - Notation) -> Worst case complexity
- Omega Notation (0 Notation) -> Best case complexity
- Theta Notation (0 Notation) -> Average case complexity
Learn on: Codevolution