कलन-विधियों की सूची

## संचय-सम्बन्धी [[अल्गोरिद्म|कलन-विधियाँ]] (Combinatorial algorithms)
### सामान्य संचयविन्यास (combinatorial) से सम्बन्धित कलनविधियाँ

* Brent's algorithm: finds cycles in iterations using only two iterators
* Floyd's cycle-finding algorithm: finds cycles in iterations
* Pseudorandom number generators (uniformly distributed):
** Blum Blum Shub
** Mersenne twister
** Linear congruential generator
** Lagged Fibonacci generator
* Robinson-Schensted algorithm: generates permutations from pairs of Young tableaux

### आरेख-सम्बन्धी कलन-विधियाँ (Graph algorithms)
* Bellman-Ford algorithm: computes shortest paths in a weighted graph (where some of the edge weights may be negative)
* Dijkstra's algorithm: computes shortest paths in a graph with non-negative edge weights
* Perturbation methods: an algorithm that computes a locally shortest paths in a graph
* Floyd-Warshall algorithm: solves the all pairs shortest path problem in a weighted, directed graph
* Johnson algorithm: All pairs shortest path algorithm in sparse 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 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 sort: finds linear order of nodes(e.g. jobs) based on their dependencies.
* Hungarian algorithm: algorithm for finding a perfect matching
* Coloring algorithm: Graph coloring algorithm.
* Nearest neighbour algorithm.

### खोज सम्बन्धी कलन-विधियाँ (Search algorithms)
* Linear search: finds an item in an unsorted list
* Selection algorithm: finds the *k*th largest item in a list
* Binary search algorithm: locates an item in a sorted list
* Binary search tree: uses binary tree to maintain elements.
* 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* tree search: special case of best-first search that uses heuristics to improve speed
* Uniform-cost search: a tree search that finds the lowest cost route where costs vary
* Predictive 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.
* Crazy Turtle Puzzle algorithm

### अक्षर-समूह सम्ब्नधी अल्गोरिद्म (String algorithms)
#### [[String searching algorithm|Searching]]
* Aho-Corasick algorithm: trie based algorithm for finding all matches in dictionary.
* Bitap algorithm: fuzzy algorithm that determines strings are approximately equal.
* Boyer-Moore string search algorithm: amortised linear (sublinear in most times) algorithm
* Knuth-Morris-Pratt algorithm: bypasses reexamination of matched characters
* Rabin-Karp string search algorithm: searches multiple patterns efficiently
* Longest common subsequence problem: Haskell's dynamic programming algorithm
* Longest increasing subsequence problem
* Shortest common supersequence problem
* longest common substring problem
* Kadane's algorithm: finds maximum sub-array of any size
* Boyer-Moore-Horspool algorithm

#### Approximate matching
* Hirschberg's algorithm: space efficient algorithm for computing edit distance
* Levenshtein edit distance
* Metaphone: an algorithm for indexing words by their sound, when pronounced in English
* Needleman-Wunsch algorithm
* NYSIIS: phonetic algorithm
* Smith-Waterman algorithm
* Soundex

### [[Sorting algorithm]]s
* Binary tree sort
* Bitonic sorter
* Bogosort
* Bubble sort: for each pair of indices, swap the items if out of order
* Bucket sort
* Burstsort
* Cocktail sort
* Comb sort
* Counting sort
* Gnome sort
* Flashsort
* 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
* Library sort
* Merge sort: sort the first and second half of the list separately, then merge the sorted lists
* Odd-even sort
* Pancake sorting
* Patience 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
* Stooge sort
* Strand sort
* Topological sort
* Tree sort
* Walia sort

### [[Merge algorithm]]s
* Simple Merge algorithm
* k-way Merge algorithm

## डेटा घनन की कलन-विधियाँ (Data Compression algorithms)
### [[:श्रेणी:Lossless compression algorithms|Lossless compression algorithms]]

* Burrows-Wheeler transform: preprocessing useful for improving lossless compression
* DEFLATE: lossless data compression
* Delta encoding: aid to compression of data in which sequential data occurs frequently
* Dynamic Markov Compression: Compression using predictive arithmetic coding
* Incremental encoding: delta encoding applied to sequences of strings
* LZW: lossless data compression (Lempel-Ziv-Welch)
* LZ77 (algorithm): LZ77 and LZ78 are the names for the two lossless data compression algorithms
* LZMA: short for Lempel-Ziv-Markov chain-Algorithm
* LZO: data compression algorithm that is focused on speed
* PPM compression algorithm
* Shannon-Fano coding
* Truncated binary encoding
* Run-length encoding: lossless data compression taking advantage of strings of repeated characters
* SEQUITUR algorithm: lossless compression by incremental grammar inference on a string
* EZW (Embedded Zerotree Wavelet)
* Entropy encoding: coding scheme that assigns codes to symbols so as to match code lengths with the probabilities of the symbols
** Huffman coding: simple lossless compression taking advantage of relative character frequencies
*** Adaptive Huffman coding: adaptive coding technique based on Huffman coding
*** Package-Merge: Optimizes Huffman coding subject to a length restriction on code strings
** Arithmetic coding: advanced entropy coding
*** Range encoding: same as arithmetic coding, but looked at in a slightly different way
* Entropy coding with known entropy characteristics
** Unary coding: code that represents a number n with n ones followed by a zero
** Elias delta|gamma|omega coding: universal code encoding the positive integers
** Fibonacci coding: universal code which encodes positive integers into binary code words
** Golomb coding: form of entropy coding that is optimal for alphabets following geometric distributions
** Rice coding: form of entropy coding that is optimal for alphabets following geometric distributions

### [[:श्रेणी:Lossy compression algorithms|Lossy compression algorithms]]
* Linear predictive coding: lossy compression by representing the spectral envelope of a digital signal of speech in compressed form
* A-law algorithm: standard companding algorithm
* Mu-law algorithm: standard analog signal compression or companding algorithm
* Fractal compression: method used to compress images using fractals
* Transform coding: type of data compression for "natural" data like audio signals or photographic images
* Vector quantization: technique often used in lossy data compression
* Wavelet compression: form of data compression well suited for image compression (sometimes also video compression and audio compression)

## गणनात्मक ज्यामिति (Computational geometry)
* Euclidean Distance Transform - Computes the distance between every point in a grid and a discrete collection of points.
* Fortune's Algorithm: a well-known and simple-to-understand algorithm for computing Voronoi diagrams from a set of sites
* Collision detection algorithms: check for the collision or intersection of two given solids
* Convex hull algorithms: determining the convex hull of a set of points
** Chan's algorithm
** Gift wrapping algorithm or Jarvis march
** Graham scan
** Kirkpatrick–Seidel algorithm
* Gilbert-Johnson-Keerthi distance algorithm: determining the smallest distance between two convex shapes.
* Line segment intersection: finding whether lines intersect, usually with a sweep line algorithm
** Bentley-Ottmann algorithm
** Shamos-Hoey algorithm
* Point in polygon algorithms: tests whether a given point lies within a given polygon
* Polygon triangulation algorithms: decompose a polygon into a set of triangles

## कम्प्यूटर ग्राफिक्स (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)
* Line drawing algorithm: graphical algorithm for approximating a line segment on discrete graphical media.
* 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
* Xiaolin Wu's line algorithm: algorithm for line antialiasing.
* Painter's algorithm: detects visible parts of a 3-dimensional scenery
* Ray tracing (graphics): realistic image rendering
* Phong shading: an illumination model and an interpolation method in 3D computer graphics
* Gouraud shading: an algorithm to simulate the differing effects of light and colour across the surface of an object in 3D computer graphics
* Scanline rendering: constructs an image by moving an imaginary line over the image
* Global illumination algorithms: Considers direct illumination and reflection from other objects.
* Interpolation: Constructing new data points such as in digital zoom.
** Ramer-Douglas-Peucker algorithm: Given a 'curve' composed of line segments to find a curve not too dissimilar but that has fewer points
* Spline interpolation: Reduces error with Runge's phenomenon.

## कम्प्यूटर दृष्टि (Computer vision)
* In image processing, epitomic analysis can be used to represent an image or video by a smaller image or video which preserves its statistical properties.

* Counting objects in an image: Counts the number of objects in a binary image. Uses the connected-component labeling algorithm to first label each object. Then returns the number of labeled objects.

* SIFT (Scale-invariant feature transform): is an algorithm to detect and describe local features in images.

## [[बीज-लेखन|बीज-लेखन के अल्गोरिद्म]] (Cryptographic algorithms)

* Symmetric (secret key) encryption:
** Advanced Encryption Standard (AES), winner of NIST competition, also known as Rijndael
** Blowfish
** Data Encryption Standard (DES), sometimes DE Algorithm, winner of NBS selection competition, replaced by AES for most purposes
** IDEA
** RC4 (cipher)
** Tiny Encryption Algorithm
* Asymmetric (public key) encryption:
** DSA
** ElGamal
** RSA
** NTRUEncrypt
* Cryptographic Message digest functions (hashing functions):
** MD5 – Note that there is now a method of generating collisions for MD5
** RIPEMD-160
** SHA-1
** HMAC: keyed-hash message authentication
** Tiger (TTH), usually used in Tiger tree hashes
* Cryptographically secure pseudo-random number generators
** Blum Blum Shub - based on the hardness of factorization
** Yarrow algorithm
** Fortuna, intended as an improvement on Yarrow algorithm
** Linear feedback shift register
* Secret sharing, Secret Splitting, Key Splitting, M of N algorithms
** Shamir's Scheme
** Blakey's Scheme
* Key exchange
** Diffie-Hellman key exchange

## [[अंकीय संकेत प्रक्रमण|आंकिक संकेत प्रसंस्करण]] (Digital signal processing)
* CORDIC: Fast trigonometric function computation technique.
* Rainflow-counting algorithm: Reduces a complex stress history to a count of elementary stress-reversals for use in fatigue analysis
* Osem: algorithm for processing of medical images
* Goertzel algorithm Can be used for DTMF digit decoding.
* Discrete Fourier transform: determines the frequencies contained in a (segment of a) signal
** Fast Fourier transform
** Cooley-Tukey FFT algorithm
** Rader's FFT algorithm
** Bluestein's FFT algorithm
** Bruun's FFT algorithm
** Prime-factor FFT algorithm
* Richardson-Lucy deconvolution: image de-blurring algorithm
* Elser Difference-Map Algorithm: X-Ray diffraction microscopy

## [[सॉफ्टवेयर प्रौद्योगिकी]] (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
* Rayrole's algorithm: resource calendar management

### वितरित प्रणालियों के लिये कलन-विधियाँ (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 clocks: a total ordering of events
* Marzullo's algorithm: distributed clock synchronization
* intersection algorithm: another clock agreement algorithm.
* Byzantine fault tolerance: good fault tolerance.

### Memory Allocation and deallocation algorithms
* Boehm garbage collector: Conservative garbage collector
* Buddy memory allocation: Algorithm to allocate memory such that fragmentation is less.
* Cheney's algorithm An improvement on the Semi-space collector
* Generational garbage collector: Fast garbage collectors that segregate memory by age
* Mark and sweep
* Reference counting
* Semi-space collector An early copying collector

### [[Operating systems]] algorithms
* Banker's algorithm: Algorithm used for deadlock avoidance.
* Page replacement algorithms: Selecting the victim page under low memory conditions.
* Bully algorithm: Selecting new leader among many computers.

#### Disk scheduling algorithms:
* Elevator algorithm: Disk scheduling algorithm that works like an elevator.
* Shortest seek first: Disk scheduling algorithm to reduce seek time.

#### Process synchronisation algorithms:
* Peterson's algorithm
* Lamport's Bakery algorithm
* Dekker's algorithm

#### [[Scheduling (computing)|Scheduling]] algorithms
* Rate-monotonic scheduling
* Earliest deadline first scheduling
* Fair-share scheduling
* Round-robin scheduling
* Multi level feedback queue
* shortest job next
* shortest remaining time
* Least slack time scheduling
* List scheduling

## एलेक्ट्रानिकी एवं हार्डवेयर सम्बन्धी अल्गोरिद्म
* Quine-McCluskey algorithm: Also called as Q-M algorithm, programmable method for simplyfying the boolean equations.
* Petrick's method: Another algorithm for boolean simplification.
* Espresso heuristic logic minimization: Fast algorithm for boolean function minimization.

## मशीन शिक्षा के अल्गोरिद्म (Machine learning algorithms)
* Support Vector Macting

## चिकित्सा सम्बन्धी अल्गोरिद्म
* Medical algorithm
* Texas Medication Algorithm Project

## [[कृत्रिम तंत्रिका नेटवर्क|न्यूरल नेटवर्क]] (Neural networks)
* Hopfield net
* Backpropagation
* Self-organizing map

## जेनेटिक अल्गोरिद्मँ
* Fitness proportionate selection - also known as roulette-wheel selection
* Truncation selection
* Tournament selection
* Stochastic universal sampling

## संख्यात्म बीजगणित (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

## [[संख्या सिद्धान्त]] सम्बन्धी कलन-विधियाँ
* 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
* Extended Euclidean algorithm: Also solves the equation ax+by = c.
* Binary gcd algorithm: Efficient way of calculating gcd.
* Integer factorization: breaking an integer into its prime factors
** prime factorization algorithm
** Fermat's factorization method
** Trial division
** Lenstra elliptic curve factorization
** Pollard's rho algorithm
** Pollard's p&nbsp;&minus;&nbsp;1 algorithm
** Congruence of squares
** Quadratic sieve
** Dixon's algorithm
** Special number field sieve
** General number field sieve
* Multiplication algorithms: fast multiplication of two numbers
* Booth's multiplication algorithm
* Primality tests: determining whether a given number is prime
** AKS primality test
** Miller-Rabin primality test
** Sieve of Eratosthenes
** Sieve of Atkin
* Odlyzko-Schönhage algorithm: calculates nontrivial zeroes of the Riemann zeta function

## संख्यात्मक कलन-विधियाँ (Numerical algorithms)
* Approximate counting algorithm: Allows counting large number of events in a small register
* Biconjugate gradient method: solves systems of linear equations
* Borwein's algorithm: an algorithm to calculate the value of 1/π
* Dancing Links: finds all solutions to the exact cover problem
* De Boor algorithm: computes splines
* De Casteljau's algorithm: computes Bézier curves
* False position method: approximates roots of a function
* Gauss–Jordan elimination: solves systems of linear equations
* Gauss–Seidel method: solves systems of linear equations iteratively
* Gauss–Legendre algorithm: computes the digits of pi
* Kahan summation algorithm: a more accurate method of summing floating-point numbers
* Levinson recursion: solves equation involving a Toeplitz matrix
* Metropolis–Hastings algorithm: used to generate a sequence of samples from the probability distribution of one or more variables
* MISER algorithm: Monte Carlo simulation, numerical integration
* Newton's method: finds zeros of functions with calculus
* Risch algorithm: Translates indefinite integral to algebraic problem
* 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: faster matrix multiplication
* Symbolic Cholesky decomposition: Efficient way of storing sparse matrix
* Tridiagonal matrix algorithm (Thomas algorithm): solves systems of tridiagonal equations

## अभीष्टप्राप्ति के अल्गोरिद्म (Optimization algorithms)
* Ant colony optimization
* BFGS method: A nonlinear optimization algorithm
* Branch and bound
* Chain matrix multiplication
* Conjugate gradient
* Differential evolution
* Evolution strategy
* Gauss–Newton algorithm: An algorithm for solving nonlinear least squares problems.
* Genetic algorithms
* Gradient descent
* Interior point method
* Karmarkar's algorithm: The first reasonably efficient algorithm that solves the linear programming problem in polynomial time.
* Levenberg–Marquardt algorithm: An algorithm for solving nonlinear least squares problems.
* Line search
* Local search
* Nelder-Mead method (downhill simplex method): A nonlinear optimization algorithm.
* Newton's method in optimization
* Particle swarm
* Random-restart hill climbing
* Simplex algorithm: An algorithm for solving the linear programming problem
* Simulated annealing
* Stochastic tunneling
* Subset sum algorithm
* Tabu search
* Minimax used in game programming
* Alpha-beta pruning: search to reduce number of nodes in minimax algorithm

## पार्जिंग (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
** SLR (Simple LR) parser
** LALR (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 parser: Another O(n3) algorithm for parsing any context-free grammar
* GLR parser:An algorithm for parsing any context-free grammar by Masaru Tomita. It is tuned for deterministic grammars, on which it performs almost linear time and O(n3) in worst case.
* Inside-outside algorithm: An O(n3) algorithm for re-estimating production probabilities in probabilistic context-free grammars

## क्वांटम अल्गोरिद्म (Quantum algorithms)
*<small>Application of [[quantum computation]] to various categories of problems and algorithms</small>*

* Grover's algorithm: provides quadratic speedup for many search problems
* Shor's algorithm: provides exponential speedup for factoring a number
* Deutsch-Jozsa algorithm: criterion of balance for Boolean function

## गणना सिद्धान्त एवं आटोमेटा (Theory of computation and automata)
* Powerset construction: Algorithm to convert nondeterministic automaton to deterministic automaton.
* Todd-Coxeter algorithm: Procedure for generating cosets.

## अन्य
* Alpha max plus beta min algorithm: an approximation of the square-root of the sum of two squares.
* Astronomical algorithms
* Baum-Welch algorithm: hidden markov models
* Bit manipulation algorithms: Create bit mask algorithm
* Doomsday algorithm: day of the week
* Schreier-Sims algorithm: computing a base and strong generating set (BSGS) of a permutation group
* Viterbi algorithm: hidden markov models
* Xor swap algorithm: swaps the values of two variables without using a buffer
* Luhn algorithm: a method of validating identification numbers
* Rutishauser's algorithm
* Stemming algorithm: a method of reducing words to their stem, base, or root form
* Hamming weight (population count): find the number of 1 bits in a binary word
* Heisenman-Drogulous isomoglobic algorithm
* Gerchberg–Saxton algorithm: Phase retrieval algorithm for optical planes
* Shunting yard algorithm: convert an infix-notation math expression to postfix

## बाहरी कड़ियाँ
* Dictionary of Algorithms and Data Structures (अंग्रेजी मे)

श्रेणी:कंप्यूटर
श्रेणी:सूचियाँ