Comparison of algorithms and heuristics
From Bioinformatics.Org Wiki
An algorithm is a step-wise procedure for solving a specific problem in a finite number of steps. The result (output) of an algorithm is predictable and reproducible given the same parameters (input).
A heuristic is an educated guess which serves as a guide for subsequent explorations. Unlike an algorithm, the results of a heuristic are neither predictable nor reproducible.
A real-world comparison of algorithms and heuristics can be seen in human learning. When a child learns to walk, for example, its approach is heuristic, trying different muscle movements until it finds some that work. But, once mastered, walking becomes algorithmic, literally a set of steps which (should) always produce the desired results.