

The logarithms differ only by a constant factor (since log( n c) = c log n) and thus the big O notation ignores that. The set O(log n) is exactly the same as O(log( n c)). We may ignore any powers of n inside of the logarithms. An algorithm can require time that is both superpolynomial and subexponential examples of this include the fastest known algorithms for integer factorization and the function n log n. One that grows more slowly than any exponential function of the form c n is called subexponential. A function that grows faster than n c for any c is called superpolynomial. If c is greater than one, then the latter grows much faster. The sets O( n c) and O( c n) are very different. In particular, if a function may be bounded by a polynomial in n, then as n tends to infinity, one may disregard lower-order terms of the polynomial. A description of a function in terms of big O notation usually only provides an upper bound on the growth rate of the function.Īssociated with big O notation are several related notations, using the symbols o, Ω, ω, and Θ, to describe other kinds of bounds on asymptotic growth rates.

The letter O is used because the growth rate of a function is also referred to as the order of the function. Big O notation is also used in many other fields to provide similar estimates.īig O notation characterizes functions according to their growth rates: different functions with the same asymptotic growth rate may be represented using the same O notation. In analytic number theory, big O notation is often used to express a bound on the difference between an arithmetical function and a better understood approximation a famous example of such a difference is the remainder term in the prime number theorem. In computer science, big O notation is used to classify algorithms according to how their run time or space requirements grow as the input size grows.

The letter O was chosen by Bachmann to stand for Ordnung, meaning the order of approximation. Big O is a member of a family of notations invented by German mathematicians Paul Bachmann, Edmund Landau, and others, collectively called Bachmann–Landau notation or asymptotic notation. Big O notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity.
