The word "algorithm" comes from the name of an eighth
century Arab mathematician, al Khuwarismi. In its most general usage, an
algorithm is simply a set of steps to solve a problem. The older meaning
of the word is a rule of procedure or set of steps for the solution of a
mathematical problem, such as the procedure for finding a square root.
More recently the word is used generally to describe any procedure or set
of rules for accomplishing a task. The task to be accomplished may be
quite general, such as analyzing and/or solving a business problem, or
making some type of decision. While the original use of the word implied a
formalized or codified set of precise rules or steps,
"algorithm" is now also applied to informal or general
procedures of varying precision. Thus, application of the net present
value technique for
**
capital budgeting
**
might be described as an algorithm even if precise steps are not
specified.

Within the area of computer science, algorithm still refers to a precisely specified procedure with three features: (1) sequence, or defined order of operations; (2) decisions, or "if … then" types of steps; and (3) repetition of key steps until some condition is obtained.

The use of algorithms provides a number of benefits. One of these benefits
is in the development of the procedure itself, which involves
identification of the processes, major decision points, and variables
necessary to solve the problem. Developing an algorithm allows and even
forces examination of the solution process in a rational manner.
Identification of the processes and decision points reduces the task into
a series of smaller steps of more manageable size. Problems that would be
difficult or impossible to solve wholesale can be approached as a series
of small, solvable subproblems. The required specification aids in the
identification and reduction of subconscious biases. By using an
algorithm,
**
decision making
**
becomes a more rational process.

In additional to making the process more rational, use of an algorithm will make the process more efficient and more consistent. Efficiency is an inherent result of the analysis and specification process. Consistency comes from both the use of the same specified process and increased skill in applying the process. An algorithm serves as a mnemonic device and helps ensure that variables or parts of the problem are not ignored. Presenting the solution process as an algorithm allows more precise communication. Finally, separation of the procedure steps facilitates division of labor and development of expertise.

A final benefit of the use of an algorithm comes from the improvement it makes possible. If the problem solver does not know what was done, he or she will not know what was done wrong. As time goes by and results are compared with goals, the existence of a specified solution process allows identification of weaknesses and errors in the process. Reduction of a task to a specified set of steps or algorithm is an important part of analysis, control, and evaluation.

*
[
*
*
David
*
*
E
*
*
Upton
*
*
]
*

Knuth, Donald E.
*
Fundamental Algorithms.
*
Vol. 2 of
*
The Art of Computer Programming.
*
3rd ed. Reading, MA: Addison-Wesley, 1997.

Sedgewick, Robert, and Philippe Flajolet.
*
An Introduction to the Analysis of Algorithms.
*
Reading, MA: Addison-Wesley, 1996.

Also read article about **Algorithms** from Wikipedia

## Comment about this article, ask questions, or add new information about this topic: