Big-O notation basically is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity. It is an Asymptotic Notation for the worst case, which is also the ceiling of growth for a given function. It provides us with what is called an asymptotic upper bound for the growth rate of runtime of an algorithm or program.