List of algorithms - meaning of word
Rozmiar: 8938 bajtów


List of algorithms



The following is a list of the algorithms described in Wikipedia. See also the list of data structures, list of algorithm general topics and list of terms relating to algorithms and data structures. If you intend to describe a new algorithm, please read wikipedia:algorithms on Wikipedia first, then add a link to your article and a one-line description here. == Combinatorial algorithms == === General combinatorial algorithms === * Floyd's cycle-finding algorithm: finds cycles in iterations * (uniformly distributed) Pseudorandom number generators: ** Blum Blum Shub ** Mersenne twister * Robinson-Schensted algorithm: generates permutations from pairs of Young tableaux ===Graph theory=== ''See main article graph theory'' * Bellman-Ford algorithm: computes shortest path problem in a weighted graph (where some of the edge weights may be negative) * Dijkstra's algorithm: computes shortest path problem in a graph with non-negative edge weights * Floyd-Warshall algorithm: solves the all pairs shortest path problem in a weighted, directed graph * Kruskal's algorithm: finds a minimum spanning tree for a graph * Prim's algorithm: finds a minimum spanning tree for a graph * Boruvka's algorithm: finds a minimum spanning tree for a graph * Ford-Fulkerson algorithm: computes the maximum flow problem in a graph * Edmonds-Karp algorithm: implementation of Ford-Fulkerson * Nonblocking Minimal Spanning Switch say, for a telephone exchange * Spring based algorithm: algorithm for graph drawing * Topological sorting ===Search algorithm=== * Linear search: finds an item in an unsorted list * Selection algorithm: finds the ''k''th largest item in a list * Binary search: locates an item in a sorted list * Binary search tree * Breadth-first search: traverses a graph level by level * Depth-first search: traverses a graph branch by branch * Best-first search: traverses a graph in the order of likely importance using a priority queue * A-star search algorithm: special case of best-first search * Interpolation search: binary like search which factors in magnitude of search term versus the high and low values in the search. Sometimes called dictionary search or interpolated search. * Hash table: finds an item in an unsorted collection in O(1) time. ===String searching algorithms=== * Knuth-Morris-Pratt algorithm * Rabin-Karp string search algorithm * Boyer-Moore string search algorithm * Aho-Corasick algorithm ===Sort algorithms=== * Binary search tree * Bogosort * Bubble sort: for each pair of indices, swap the items if out of order * Bucket sort * Comb sort * Cocktail sort * Counting sort * Gnome sort * Heapsort: convert the list into a heap, keep removing the largest element from the heap and adding it to the end of the list * Insertion sort: determine where the current item belongs in the list of sorted ones, and insert it there * Merge sort: sort the first and second half of the list separately, then merge the sorted lists * Pancake sorting * Pigeonhole sort * Quicksort: divide list into two, with all items on the first list coming before all items on the second list.; then sort the two lists. Often the method of choice * Radix sort: sorts strings letter by letter * Selection sort: pick the smallest of the remaining elements, add it to the end of the sorted list * Shell sort: an attempt to improve insertion sort * Smoothsort * Stupid sort * Topological sorting ==Data compression== * Arithmetic coding: advanced entropy coding * Burrows-Wheeler transform: preprocessing useful for improving lossless compression * DEFLATE (algorithm): lossless data compression * Delta encoding: aid to compression of data in which sequential data occurs frequently * Huffman coding: simple lossless compression taking advantage of relative character frequencies * Incremental encoding: delta encoding applied to sequences of strings * LZW: lossless data compression (Lempel-Ziv-Welch) * Run-length encoding: lossless data compression taking advantage of strings of repeated characters * SEQUITUR algorithm: lossless compression by incremental grammar inference on a string ==Computational geometry== * Gift wrapping algorithm: determining the convex hull of a set of points * Graham scan determining the convex hull of a set of points in the plane * Point in polygon: tests whether a given point lies within a given polygon ==Computer graphics== * Bresenham's line algorithm: plots points of a 2-dimensional array to form a straight line between 2 specified points (uses decision variables) * DDA line algorithm: plots points of a 2-dimensional array to form a straight line between 2 specified points (uses floating-point math) * Flood fill: fills a connected region of a multi-dimensional array with a specified symbol * Painter's algorithm: detects visible parts of a 3-dimensional scenery * Ray tracing: realistic image rendering (computer graphics) ==Cryptography algorithms== ''(See also Topics in cryptography for an 'analytical glossary')'' * symmetric key algorithm: ** Advanced Encryption Standard (AES), winner of NIST competition ** Blowfish (cipher) ** Data Encryption Standard (DES), sometimes DE Algorithm, winner of NBS selection competition, replaced by AES for most purposes ** International Data Encryption Algorithm ** RC4 (cipher) * Asymmetric key algorithm or digital signature: ** Digital Signature Algorithm ** ElGamal discrete log cryptosystem ** RSA ** Diffie-Hellman key exchange ** NTRUEncrypt * Cryptographic Message digest functions: ** MD5 – Note that there is now a method of generating collisions for MD5 ** RIPEMD-160 ** SHA-1 ** keyed-hash message authentication code: keyed-hash message authentication * Cryptographically secure pseudo-random number generators ** Blum Blum Shub - based on the hardness of integer factorization ** Yarrow algorithm ** Fortuna (PRNG), allegedly an improvement on Yarrow * ''Other'' ** Diffie-Hellman: key exchange ==Distributed systems algorithms== * Lamport ordering: a partial ordering of events based on the ''happened-before'' relation * Snapshot algorithm: a snapshot is the process of recording the global state of a system * Vector ordering: a total ordering of events ==Numerical algorithms== ''See also main article ''numerical analysis'' and list of numerical analysis topics'' * De Boor algorithm: computes Spline (mathematics). * De Casteljau's algorithm: computes Bezier curves * False position method: approximates roots of a function * Gauss-Jordan elimination: solves systems of linear equations * Gauss-Legendre algorithm: computes the digits of pi * Newton's method: finds zeros of functions with calculus * Gauss-Newton algorithm: find minimum of function of several variables * Jones's period proxy algorithm: factors integers * Levenberg-Marquardt algorithm: find minimum of function of several variables * MISER algorithm: Monte Carlo simulation, numerical integration * Rounding functions: the classic ways to round numbers * Secant method: approximates roots of a function * Shifting nth-root algorithm: digit by digit root extraction * Square root: approximates the square root of a number * Strassen algorithm ===Optimization (mathematics)=== * Simplex algorithm: An algorithm for solving the linear programming problem * Simulated annealing * Genetic algorithms * Particle swarm * Tabu search * Local search === Digital signal processing === * CORDIC: Fast trigonometric function computation technique. * Fast Fourier transform: determines the frequencies contained in a (segment of a) signal **Cooley-Tukey FFT algorithm * Rainflow-counting algorithm: Reduces a complex stress (physics) history to a count of elementary stress-reversals for use in fatigue (material) analysis * Osem: algorithm for processing of medical images == Number theory algorithms == * Discrete logarithm: ** Baby-step giant-step ** Pollard's rho algorithm for logarithms ** Pohlig-Hellman algorithm ** Index calculus algorithm * Euclidean algorithm: computes the greatest common divisor * Integer factorization: breaking an integer into its prime number factors ** Trial division ** Lenstra elliptic curve factorization ** Pollard's rho algorithm ** Pollard's p-1 algorithm ** Congruence of squares ** Quadratic sieve ** Special number field sieve ** General number field sieve ** Jones's period proxy algorithm * Multiplication algorithms: fast multiplication of two numbers * Primality tests: determining whether a given number is prime number ** AKS primality test ** Miller-Rabin primality test ** Sieve of Eratosthenes: produces a list of the first primes == Numerical algebra == * Buchberger's algorithm: finds a Gröbner basis * Eigenvalue algorithm * Exponentiating by squaring: quickly computes powers of numbers and matrices * Gram-Schmidt process: orthogonalizes a set of vectors * Knuth-Bendix completion algorithm: for rewriting rule systems * Multivariate division algorithm: for polynomials in several indeterminates == Parsing == * Recursive descent parser: A top-down parser suitable for LL(''k'') grammars * LL parser: A relatively simple linear time parsing algorithm for a limited class of context-free grammars * LR parser: A more complex linear time parsing algorithm for a larger class of context-free grammars. Variants: ** Operator-precedence parser ** Simple LR parser ** Look-ahead LR parser ** Canonical LR parser * Packrat parser: A linear time parsing algorithm supporting some context-free grammars and parsing expression grammars * CYK algorithm: An O(n3) algorithm for parsing any context-free grammar * Earley's algorithm: Another O(n3) algorithm for parsing any context-free grammar == Software engineering == * Algorithms for Recovery and Isolation Exploiting Semantics: recovery * Unicode Collation Algorithm * CHS conversion: Converting between disk addressing systems * Cyclic redundancy check: calculation of a check word * Parity: Simple/fast error detection technique. Is a number even or odd? ==Quantum computer== ''Application of quantum computation to various categories of problems and algorithms'' * Grover's algorithm: provides quadratic speedup for many search problems * Shor's algorithm: provides exponential speedup for factorizing a number * Deutsch-Jozsa algorithm: criterion of balance for Boolean function ==Medical algorithms== * Medical algorithm * Texas Medication Algorithm Project == Other == * Astronomical algorithms * Banker's algorithm * Baum-Welch algorithm * Doomsday algorithm: Day of the week * Halting problem: no one yet knows if this 43-byte C program ever halts * Levenberg-Marquardt nonlinear least squares fitting algorithm * Marzullo's algorithm: distributed clock synchronization * Page replacement algorithms * Rainflow-counting algorithm * Schreier-Sims algorithm * Todd-Coxeter algorithm * Viterbi algorithm * Xor swap algorithm: swaps the values of two variables without using a buffer Algorithms

List of algorithms



''The following is a list of the algorithms described in Wikipedia.'' Perhaps I am mistaken about the purpose of this page, but I think algorithms that are not (yet) described in Wikipedia should not be in this list. I removed the following articles: ** :Breadth first search ** :Depth first search ** :Random search: actually exists ** :Predictive search: binary like search which factors in magnititude of search term versus the high and low values in the search. Sometimes called a dictionary search. ** :Sequential search ** :Select sort for loop with a nested for loop Sorry if I'm mistaken. -- User:CYD :I totally disagree. One of the key concepts of a wiki is that page authors can mention articles that do not yet exist. This prompts other authors who know about topic to create it. IE: It lets the reader (and thus potential author) know that there is a desire for that article. Also, I think the items should be in the list. Its a list. Its information in-and-of itself. By removing them, you imply that the algorithms themselves don't exist. User:Rlee0001 01:15 Oct 18, 2002 (UTC) ::It seems from a quick inspection that quite a few of these articles talk ''about'' the algorithm without actually specifying it (eg Bresenham's line algorithm). I was under the impression that the latter was the intent of this page: am I wrong? User:Phil Boswell 16:00, Nov 4, 2003 (UTC) Also those algorithms should be added, that don't exist in Wikipedia yet, to initiate someone to write it. Steven User:82.82.117.221 16:03, 4 Nov 2003 (UTC) --- I assume this is a 'List of Algorithms' that simply link to other algorithms. These algorithms, unless I'm mistaken, should also be added:Simplex_algorithm, Knuth-Morris-Pratt_algorithm, and Edmonds-Karp_algorithm User:Indefual 19:32, 2003 Dec 6 (UTC) --- Note that there's a lot of overlap between Topics in cryptography and the crypto part of this page. --User:Tromer 06:32, 2004 Feb 22 (UTC) --- I want to add a page that I created (Floyd's cycle-finding algorithm) but I can't decide which category it should be in. I would assume it should be in the Numerical section, but I just wanted confirmation. --User:Decrypt3 09:04, May 22, 2004 (UTC) I added it at the bottom; it's a general combinatorial thingy, really. User:Charles Matthews 09:22, 22 May 2004 (UTC) == bogo-sort/stupid-sort == if you let these in, you might as well let anyone come up with bogus algorithms. then how about something like this... i don't sort sort: Here is the pseudocode of the algorithm: function i_dont_sort_sort(array) return(array) (prerequisites: data must be sorted to begin with)


See other meanings of words starting from letter:

L

LA | LB | LC | LD | LE | LF | LG | LH | LI | LJ | LK | LM | LN | LO | LP | LR | LS | LT | LU | LW | LX | LY | LZ |

Words begining with List_of_algorithms:

List_of_algorithms
List_of_algorithms


These materials are based on Wikipedia and licensed under the GNU FDL



YouTube.com videos better site than Turbo Tax 2007
encyklopedia online