What is "algorithm"

An algorithm is a set of ordered instructions based on a formal language with the following conditions:

Finite. The number of instructions must be finite.

Executable. All instructions must be executable , in some way depend on the language, in a finite amount of time.

Deterministic. The algorithm must be predictable.

An algorithm can be expressed in several ways: as a sequence of instructions, as a blocking scheme, as a code in an existing or new programming language, as a piece of text in a human language, or in other similar ways.

An algorithm can solve a class of problems. For example, both "sum of 1 and 3" and "sum of 4 and 5" are problems in the same class: "Sum of two integers" Moreover, a certain class of problems can be solved in general by a variety of algorithms.

An important aspect of algorithm design is performance. For large data sets a good algorithm can overcome a poor algorithm by several orders of magnitude. Algorithm performance is often evaluated with Big O or notation Θ

A key algorithm classification is known as Algorithm Complexity.

Related links

Additional features on algorithms include:

 - Algorithm on Wikipedia

 - Algorithm in Howstuffworks