Frequent Links
Algorithm design
Algorithm design is a specific method to create a mathematical process in solving problems. Applied algorithm design is algorithm engineering.
Algorithm design is identified and incorporated into many solution theories of operation research, such as dynamic programming and divideandconquer. Techniques for designing and implementing algorithm designs are algorithm design patterns,^{[1]} such as template method pattern and decorator pattern, and uses of data structures, and name and sort lists. Some current day uses of algorithm design can be found in internet retrieval processes of web crawling, packet routing and caching.
Mainframe programming languages such as ALGOL (for Algorithmic language), FORTRAN, COBOL, PL/I, SAIL, and SNOBOL are computing tools to implement an "algorithm design"... but, an "algorithm design" (a/d) is not a language. An a/d can be a hand written process, e.g. set of equations, a series of mechanical processes done by hand, an analog piece of equipment, or a digital process and/or processor.
One of the most important aspects of algorithm design is creating an algorithm that has an efficient run time, also known as its big Oh.
Steps in development of Algorithms
 Problem definition
 Development of a model
 Specification of Algorithm
 Designing an Algorithm
 Checking the correctness of Algorithm
 Analysis of Algorithm
 Implementation of Algorithm
 Program testing
 Documentation Preparation
Common design paradigms
Notes
 ^ Goodrich, Michael T.; Tamassia, Roberto (2002), Algorithm Design: Foundations, Analysis, and Internet Examples, John Wiley & Sons, Inc., ISBN 0471383651
Further reading
 Algorithm Design Paradigms  Overview by Paul Dunne at the University of Liverpool
 Stony Brook Algorithm Repository by Steven S. Skiena, Department of Computer Science, State University of New York
Template:Navbox with collapsible sections

Lua error in package.lua at line 80: module 'Module:Buffer' not found.