O

From Rosetta Code
Revision as of 08:30, 18 July 2008 by rosettacode>Dmitry-kazakov (Algoritmic complexity notation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Complexity. In computer science the notation O(P(n)) is used to denote asymptotic behavior of an algorithm, usually its complexity in terms of execution time or memory consumption. Here P is an algebraic function of n, usually polynomial or logarithmic. n describes the size of the problem. The meaning of O(P(n)) is that the complexity grows with n as P(n) does.

The notation can also be used to describe a computational problem. In that case it characterizes the problem's complexity through the best known algorithm that solves it.

Examples: searching in an unordered container of n elements has the complexity of O(n). Binary search in an ordered container with random element access is O(log n). The term random access actually means that the complexity of access is constant, i.e. O(1).

See also Big O notation