Algorithms


 * Home * Programming * Algorithms**
 * [[image:Abu_Abdullah_Muhammad_bin_Musa_al-Khwarizmi.jpg link="https://en.wikipedia.org/wiki/Mu%E1%B8%A5ammad_ibn_M%C5%ABs%C4%81_al-Khw%C4%81rizm%C4%AB"]] ||~  || In mathematics and computer science, an **algorithm** is an method for solving a problem expressed as a finite sequence of instructions.

The term “algorithm” is derived from the name of Muḥammad ibn Mūsā al-Khwārizmī (born approximately 780 in [|Khwarezm], died between 835 and 850), the [|Persian] [|mathematician], [|astronomer], [|geographer], and scholar in the [|House of Wisdom] in [|Baghdad], from the [|Khorasan province] of present-day [|Uzbekistan]. || toc =General Concepts=
 * Muḥammad ibn Mūsā al-Khwārizmī ||~  ||^   ||
 * General Setwise Operations
 * Iteration
 * Pseudorandom Number Generator
 * Recursion

=Sorting and Searching=
 * ABDADA
 * All shortest Paths
 * Alpha-Beta
 * B*
 * Best-First
 * Brute-Force
 * Depth-First
 * Flood Fill Algorithm
 * Iterative Search
 * Jamboree
 * Monte-Carlo Tree Search
 * Move Ordering
 * MTD(f)
 * NegaC*
 * NegaScout
 * Parallel Alpha-Beta in Cilk
 * Parallel Search
 * Principal Variation Search
 * Proof-Number Search
 * Retrograde Analysis
 * Search
 * SEE - The Swap Algorithm
 * SEX Algorithm
 * SOMA Algorithm
 * SSS* and Dual*
 * UCT
 * Young Brothers Wait Concept

=Enumeration and Backtracking=
 * Backtracking
 * De Bruijn Sequence Generator
 * Traversing Subsets of a Set
 * Trial and Error

=Mathematical Optimization=
 * CLOP
 * Dynamic Programming
 * Evolutionary Algorithms
 * Hill Climbing
 * Simulated Annealing
 * SPSA

=Combinatorial=
 * Bit-Twiddling
 * BitScan
 * Flipping Mirroring and Rotating
 * Kogge-Stone Algorithm
 * Parallel Prefix Algorithms
 * Population Count

=See also=
 * BCH Hashing
 * Data
 * Fill Algorithms
 * Hash Table
 * Learning
 * Mathematician
 * SIMD and SWAR Techniques
 * Space-Time Tradeoff
 * Zobrist Hashing

=Publications=

1960 ...
> Volume 1 - Fundamental Algorithms (**1968**) > Volume 2 - Seminumerical Algorithms (**1969**) > Volume 3 - Sorting and Searching (**1973**) > Volume 4 - Combinatorial Algorithms in preparation (five fascicles have been published as of April 2009) > Volume 4A - Enumeration and Backtracking > Volume 4B - Graph and Network Algorithms > Volume 4C and possibly 4D - Optimization and Recursion > Volume 5 - Syntactic Algorithms, planned (as of August 2006, estimated in 2015).
 * Donald E. Knuth (**1968 ...**). //[|The Art of Computer Programming (TAOCP)]//

1970 ...

 * [|Niklaus Wirth] (**1976**). //[|Algorithms + Data Structures = Programs]//.
 * Georgy Adelson-Velsky, Vladimir Arlazarov, Mikhail Donskoy (**1979**). //Algorithms of adaptive search//. [|Machine Intelligence 9] (eds. Jean Hayes Michie, Donald Michie and L.I. Mikulich), pp. 373-384. Ellis Horwood, Chichester

1980 ...

 * Andrei P. Ershov, Donald Knuth (Eds.) (**1981**). //Algorithms in Modern Mathematics and Computer Science//. Proceedings, [|Urgench], Uzbek SSR, September 16-22, 1979. [|Lecture Notes in Computer Science], Vol. 122, Springer » Ershov Archive
 * Michel Gondran, [|Michel Minoux], [|Steven Vajda] (**1984**). //[|Graphs and Algorithms]//. [|John Wiley & Sons], [|google], [|amazon]
 * Georgy Adelson-Velsky, Vladimir Arlazarov, Mikhail Donskoy (**1988**). //Algorithms for Games//. Springer, [|amazon.com]

1990 ...

 * John Tromp (**1993**). //[|Aspects of Algorithms and Complexity]//. Ph.D. thesis, [|University of Amsterdam], advisor Paul Vitányi
 * Warren D. Smith, Kevin J. Lang (**1994**). //Values of the merging function and algorithm design as a game//. [|NEC Research Institute], [|ps]
 * Leen Ammeraal (**1996**). //[|Algorithms and Data Structures in C++]//. Chichester: [|John Wiley]
 * Steven Skiena (**1998**). //The Algorithm Design Manual//. 2nd Edition 2008
 * Harald Prokop (**1999**). //Cache-Oblivious Algorithms//. Masters thesis, Department of Electrical Engineering and Computer Science, MIT, [|pdf]

2000 ...

 * Donald Knuth (**2000**). //[|Selected Papers on Analysis of Algorithms]//. [|CSLI lecture notes series] 102
 * R. C. T. Lee, [|S. S. Tseng], [|R. C. Chang], [|Y. T. Tsai] (**2005**). //Introduction to the Design and Analysis of Algorithms, a Strategic Approach//. [|McGraw-Hill], [|amazon]
 * Jill Cirasella (**2006**). //Classical and Quantum Algorithms for Finding Cycles//. [|slides as pdf]
 * Sanjoy Dasgupta, Christos H. Papadimitriou, Umesh Vazirani (**2006**). //[|Algorithms]//. [|McGraw-Hill], [|amazon]
 * [|Jacques Bahi], [|Sylvain Contassot-Vivier], Raphaël Couturier (**2007**). //[|Parallel Iterative Algorithms: From Sequential to Grid Computing]//. [|Chapman & Hall]/CRC Numerical Analysis and Scientific Computing Series
 * David J. Stracuzzi (**2007**). //Randomized Feature Selection//. in [|Huan Liu], [|Hiroshi Motoda] (eds.) [|Computational Methods of Feature Selection]. [|CRC Press], [|pdf]
 * Steven Skiena (**2008**). //[|The Algorithm Design Manual]//. [|Springer], 2nd Edition
 * Kurt Mehlhorn, Peter Sanders (**2008**). //[|Data Structures and Algorithms: The Basic Toolbox]//. [|Springer]
 * Michel Gondran, [|Michel Minoux] (**2008, 2010**). //[|Graphs, dioids and semirings - New Models and Algorithms]//. [|Springer] New York, from [|google], [|amazon.com], 2nd edition from [|alibris.com]
 * Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (**2009**). //[|Introduction to Algorithms, 3rd Edition]//.

2010 ...

 * Donald Knuth (**2010**). //[|Selected Papers on Design of Algorithms]//. [|CSLI lecture notes series] 191, [|Cambridge University Press]
 * Berthold Vöcking et al. (eds.) (**2011**). //[|Algorithms Unplugged]//. [|Springer]
 * Katja Grace (**2013**). //Algorithmic Progress in Six Domains//. Technical report 2013-3, [|Machine Intelligence Research Institute], [|Berkeley, CA], [|pdf], 5 Game Playing, 5.1 Chess, 5.2 Go, 9 Machine Learning

=External Links=
 * [|Algorithm from Wikipedia]
 * [|Muḥammad ibn Mūsā al-Khwārizmī]
 * [|Banū Mūsā from Wikipedia]
 * [|Algorithm characterizations from Wikipedia]
 * [|Analysis of algorithms from Wikipedia]
 * [|Big O notation from Wikipedia]
 * [|Algorithms - Wikibooks]
 * [|Dictionary of Algorithms and Data Structures] by [|Paul E. Black], [|National Institute of Standards and Technology]
 * [|Dictionary of Algorithms and Data Structures from Wikipedia]
 * [|The Aggregate Magic Algorithms] by Hank Dietz » Bit-Twiddling
 * [|Algorithmic Art] by Maarten van Emden
 * [|The Art of Computer Programming from Wikipedia]
 * Java [|implementation of algorithms] from Norvig and Russell's //[|Artificial Intelligence: A Modern Approach]//. 3rd edition

Algorithms
> [|Algorithms for calculating variance] > [|Approximation algorithm from Wikipedia] > [|Cryptographic hash algorithms] > [|Divide and conquer algorithm] > [|Deterministic algorithm] > [|Distributed algorithms] > [|Nondeterministic algorithm] > [|Metaheuristic] > [|Parallel algorithm] > [|Quantum algorithm] > [|Las Vegas algorithm] > [|Monte Carlo algorithm] > [|Pseudorandom number generator]
 * [|Category:Algorithms from Wikipedia]
 * [|List of algorithms from Wikipedia]
 * [|Randomized algorithm from Wikipedia]

[|Algebra] and [|Calculus]
> [|Karatsuba algorithm from Wikipedia] > [|Algorithms: Design and Analysis, Part 1] by Tim Roughgarden, Stanford University, [|Coursera], [|YouTube] Video > media type="youtube" key="SDgo4kVSiiw"
 * [|Algorism from Wikipedia]
 * [|Berlekamp's algorithm from Wikipedia] » Elwyn Berlekamp
 * [|Berlekamp–Massey algorithm from Wikipedia]
 * [|Buchberger's algorithm from Wikipedia]
 * [|Cantor–Zassenhaus algorithm from Wikipedia]
 * [|Computus from Wikipedia]
 * [|Divisibility rule from Wikipedia]
 * [|Division (digital) from Wikipedia]
 * [|Euclidean algorithm from Wikipedia]
 * [|Gaussian elimination from Wikipedia]
 * [|Gauss–Newton algorithm from Wikipedia]
 * [|Householder's method from Wikipedia]
 * [|Kuwaiti algorithm from Wikipedia]
 * [|Levenberg–Marquardt algorithm from Wikipedia]
 * [|Multiplication algorithm from Wikipedia]
 * [|Numerical analysis from Wikipedia]
 * [|Numerical linear algebra from Wikipedia]
 * [|Pollard's kangaroo algorithm from Wikipedia]
 * [|Quine–McCluskey algorithm from Wikipedia]
 * [|Rod calculus from Wikipedia]
 * [|Root-finding algorithm from Wikipedia]

Graphics
include page="Graphic Algorithms to include"

[|Linear Programming]
> [|Criss-cross algorithm from Wikipedia] > [|Karmarkar's algorithm from Wikipedia] > [|Simplex algorithm from Wikipedia]

Sorting and Searching
> [|A* from Wikipedia] > [|Bellman–Ford algorithm] > [|Dijkstra's algorithm] > [|Flooding algorithm] > [|Floyd–Warshall algorithm] > [|Greedy algorithm] > [|Hill climbing] > [|Kruskal's algorithm] > [|Nearest neighbour algorithm] > [|String searching algorithm]
 * [|Merge algorithm from Wikipedia]
 * [|Search algorithm from Wikipedia]
 * [|Sorting algorithm from Wikipedia]

Complexity
include page="Complexity to include"

Misc
> media type="custom" key="23951970"
 * [|Correctness (disambiguation) from Wikipedia]
 * [|Correctness (computer science) from Wikipedia]
 * [|Halting problem from Wikipedia]
 * Kraan - [|Gut und Richtig] (1973), [|YouTube] Video

=References= =What links here?= include page="Algorithms" component="backlinks" limit="100"
 * Up one Level**