## ::Algorithmic efficiency

### ::concepts

Memory::which Computer::amount Needed::using Space::other Speed::usage Search::analysis

{{ safesubst:#invoke:Unsubst||$N=Use dmy dates |date=__DATE__ |$B=
}}
In computer science, **algorithmic efficiency** are the properties of an algorithm which relate to the amount of computational resources used by the algorithm. An algorithm must be analysed to determine its resource usage. Algorithmic efficiency can be thought of as analogous to engineering productivity for a repeating or continuous process.

For maximum efficiency we wish to minimize resource usage. However, the various resources (e.g. time, space) cannot be compared directly, so which of two algorithms is considered to be more efficient often depends on which measure of efficiency is considered the most important, e.g. the requirement for high speed, minimum memory usage or some other measure of performance.

*Note that this article is***not**about optimization, which is discussed in program optimization, optimizing compiler, loop optimization, object code optimizer, etc. The term 'optimization' is itself misleading, since all that can generally be done is an 'improvement'.

**Algorithmic efficiency sections**

Intro Background Overview Measures of resource usage Examples of efficient algorithms Criticism of the current state of programming Competitions for the best algorithms See also References External links

PREVIOUS: Intro | NEXT: Background |

<< | >> |