# Algorithm design

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 divide-and-conquer. Techniques for designing and implementing algorithm designs are algorithm design patterns [ [http://ww3.algorithmdesign.net/ch00-front.html Algorithm Design-Foundations, Analysis, and Internet Examples, Goodrich, Michael T., and Tamassia, Roberto, John Wiley & Sons, Inc. 2002. ISBN: 0-471-38365-1] ] , such as template method patterns and decorator patterns, 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 "Algo"rithmic "l"anguage), 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, eg. set of equations, a series of mechanical processes done by hand, an analog piece of equipment, or a digital process and/or processor.

* [http://www.csc.liv.ac.uk/~ped/teachadmin/algor/algor.html Algorithm Design Paradigms] - Overview by Paul Dunne at the University of Liverpool
* [http://www.cs.sunysb.edu/~algorith/ Stony Brook Algorithm Repository] by Steven S. Skiena, Department of Computer Science , State University of New York

References

Wikimedia Foundation. 2010.

### Look at other dictionaries:

• Algorithm engineering — is a combination of theoretical algorithm design with real world data. By taking an algorithm and combining it with a hardware device connected to the real world, you are able to more accurately verify and validate the algorithm results and… …   Wikipedia

• Algorithm — Flow chart of an algorithm (Euclid s algorithm) for calculating the greatest common divisor (g.c.d.) of two numbers a and b in locations named A and B. The algorithm proceeds by successive subtractions in two loops: IF the test B ≤ A yields yes… …   Wikipedia

• Design Patterns — Not to be confused with the concept of a Design pattern. Design Patterns: Elements of Reusable Object Oriented Software …   Wikipedia

• Algorithm examples — This article Algorithm examples supplements Algorithm and Algorithm characterizations. = An example: Algorithm specification of addition m+n =Choice of machine model:This problem has not been resolved by the mathematics community. There is no… …   Wikipedia

• algorithm — algorithmic, adj. /al geuh ridh euhm/, n. a set of rules for solving a problem in a finite number of steps, as for finding the greatest common divisor. [1890 95; var. of ALGORISM, by assoc. with Gk arithmós number. See ARITHMETIC] * * * Procedure …   Universalium

• Design Quality Indicator — The Design Quality Indicator (DQI) is a toolkit to measure the design quality of buildings. Development of DQI was started by the Construction Industry Council in 1999[1] and the toolkit was launched as an online resource for the UK construction… …   Wikipedia

• Memetic algorithm — Memetic algorithms (MA) represent one of the recent growing areas of research in evolutionary computation. The term MA is now widely used as a synergy of evolutionary or any population based approach with separate individual learning or local… …   Wikipedia

• Divide and conquer algorithm — In computer science, divide and conquer (D C) is an important algorithm design paradigm based on multi branched recursion. A divide and conquer algorithm works by recursively breaking down a problem into two or more sub problems of the same (or… …   Wikipedia

• Randomized algorithm — Part of a series on Probabilistic data structures Bloom filter · Skip list …   Wikipedia

• Sorting algorithm — In computer science, a sorting algorithm is an algorithm that puts elements of a list in a certain order. The most used orders are numerical order and lexicographical order. Efficient sorting is important for optimizing the use of other… …   Wikipedia