An ``algorithm'' is, essentially, a ``method to complete a particular
task''. For example, there is an algorithm sort a deck of cards, there is
another algorithm to find a name in a phonebook, and etc.
What makes ``algorithms'' from general ``methods'' is that an algorithm
has the following attributes:
- Precise. An algorithm cannot be ambiguous. There is only one way to
interpret an algorithm. This is partially why algorithms are almost
never expressed in a natural language. Most natural languages
are somewhat ambiguous.
- Specific. An algorithm solves a specific problem. In the case of
sorting, the problem consists of an initial state description, and
a final state description.
Most universities have an upper division course titled ``algorithm
analysis'' or ``analysis of algorithms''. This course (or courses) is
basically a mathematics class that analyzes algorithms for correctness
and efficiency.
Copyright © 2006-09-05 by Tak Auyeung