The worst-case analysis of an algorithm provides the upper bound for the running time of an algorithm.
The average-case analysis of an algorithm is the probabilistic analysis of the average running time of an algorithm.
Asymptotic notation provides a tool to effectively compare the time complexities of different algorithms.