An algorithm is a rule or procedure for solving a problem. The field of computer science is largely devoted to the study of algorithms.
Algorithms can be described in many different ways. Common forms are as code in a programming language, as pseudocode, as flowcharts (for example, the pictoral description of a Turing machine) or in written text.
The Church-Turing Thesis (a meta-mathematical statement) asserts that any "reasonable" method of computation is equivalent to any other, i.e., any algorithm that can be implemented in one computational device can be implemented in any other. As a consequence, the notion of algorithm is independent of the choice of implementation.
Time and space
Given a fixed method of implementing algorithms (for example, the Turing machine, or a fixed programming language) we may ask how much computational resources an algorithm consumes. In particular, it is often of practical importance to know how much time and how much memory a given algorithm consumes.
This article is a stub. Help us out by .