(Redirected from algorithm)
Jump to: navigation, search

An algorithm is a formal operation composed of a sequence of more basic formal operations.



  1. "Any classical mathematical algorithm, for example, can be described in a finite number of English words" (Rogers 1987:2).
  2. Well defined with respect to the agent that executes the algorithm: "There is a computing agent, usually human, which can react to the instructions and carry out the computations" (Rogers 1987:2).
  3. "an algorithm is a procedure for computing a function (with respect to some chosen notation for integers) ... this limitation (to numerical functions) results in no loss of generality", (Rogers 1987:1).
  4. "An algorithm has zero or more inputs, i.e., quantities which are given to it initially before the algorithm begins" (Knuth 1973:5).
  5. "A procedure which has all the characteristics of an algorithm except that it possibly lacks finiteness may be called a 'computational method'" (Knuth 1973:5).
  6. "An algorithm has one or more outputs, i.e. quantities which have a specified relation to the inputs" (Knuth 1973:5).
  7. Whether or not a process with random interior processes (not including the input) is an algorithm is debatable. Rogers opines that: "a computation is carried out in a discrete stepwise fashion, without use of continuous methods or analogue devices . . . carried forward deterministically, without resort to random methods or devices, e.g., dice" Rogers 1987:2.
  8. Kleene 1943 in Davis 1965:274
  9. Rosser 1939 in Davis 1965:225
  10. Moschovakis, Yiannis N. (2001). "What is an algorithm?". In Engquist, B.; Schmid, W.. Mathematics Unlimited — 2001 and beyond. Springer. pp. 919–936 (Part II). ISBN 9783540669135. 





  • (Cormen et al., 1990) ⇒ Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest. (1990). "Introduction to Algorithms." MIT Press.
    • Informally, an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces some value, or set of values, as output. An algorithm is thus a sequence of computational steps that transform the input into the output.