What is an Algorithm?

science engineering

In its most general sense, an algorithm is any set of detailed instructions which results in a predictable end-state from a known beginning. Algorithms are only as good as the instructions given, however, and the result will be incorrect if the algorithm is not properly defined.

A common example of an algorithm would be instructions for assembling a model airplane. Given the starting set of a number of marked pieces, one can follow the instructions given to result in a predictable end-state: the completed airplane. Misprints in the instructions, or a failure to properly follow a step will result in a faulty end product.

A computer program is another pervasive example of an algorithm. Every computer program is simply a series of instructions (of varying degrees of complexity) in a specific order, designed to perform a specific task. Most conceptions of the human brain define all behavior — from the acquisition of food to falling in love — as the result of a complex algorithm.

While there is no universally accepted breakdown for the various types of algorithms, there are common classes that algorithms are frequently agreed to belong to. Among these are:

  • Dynamic Programming Algorithms: This class remembers older results and attempts to use this to speed the process of finding new results.
  • Greedy Algorithms: Greedy algorithms attempt not only to find a solution, but to find the ideal solution to any given problem.
  • Brute Force Algorithms: The brute force approach starts at some random point and iterates through every possibility until it finds the solution.
  • Randomized Algorithms: This class includes any algorithm that uses a random number at any point during its process.
  • Branch and Bound Algorithms: Branch and bound algorithms form a tree of subproblems to the primary problem, following each branch until it is either solved or lumped in with another branch.
  • Simple Recursive Algorithms: This type of algorithm goes for a direct solution immediately, then backtracks to find a simpler solution.
  • Backtracking Algorithms: Backtracking algorithms test for a solution, if one is found the algorithm has solved, if not it recurs once and tests again, continuing until a solution is found.
  • Divide and Conquer Algorithms: A divide and conquer algorithm is similar to a branch and bound algorithm, except it uses the backtracking method of recurring in tandem with dividing a problem into subproblems.

In addition to these general classes, algorithms may also be divided into two primary groups: serial algorithms, which are designed for serial execution, wherein each operation is enacted in a linear order; and parallel algorithms, used with computers running parallel processors (as well as existing in the natural world in the case of, for example, genetic mutation over a species), wherein a number of operations are run in parallel.

Related wiseGEEK articles

Category

Other Links

wiseGEEK features

Subscribe to wiseGEEK


24
Why can algorithms be known as steps? It is because i'm doing a science project which i have to devise an algorithm to figure out a rubiks cube. Is it possible? what is it?
- anon50377
23
Big words. Couldn't it be known just as processes?
- anon49579
21
what is an algorithm? is it different from pseudo-code in any way?
- anon47896
20
I want to know some basic tips how to learn brute force algorithm for biology and something about time complexity. Can any one answer this.
- anon44686
19
I want to learn about algorithms. Can you give detailed information of algorithms?
- anon44430
18
is algorithm really a challenage for me as a programmer? is algorithm really that hard to understand?
- anon40222
16
Can you please tell me which is the course for learning cryptography?? im a commerce graduate and how do i start learning algorithms?? base content for a beginner like me. Please advise.
- esha3181
14
please give an example of an algorithm
- tealann
12
What are the principles of algorithm designs?
- shakirah
10
Why are non-linear algorithms superior to linear ones when working with self-learning optimization?
- Lennox
9
can you give an example of algorithm?
- anon21204
4
Can you give an example of algorithm?

- anon7048
3
what is/are the criteria of an algorithm??
- anon5151
2
Can you give an example of an algorithm please?

- anon4611

FREE: Subscribe to wiseGEEK

 
    learn more

our strict privacy policy ensures that your email address will be safe



Written by Brendan McGuigan
Last Modified: 20 November 2009

copyright © 2003 - 2009
conjecture corporation