مستخدم:Chaos/قائمة الخوارزميات
الخوارزميات
See also the قائمة بنى البيانات, قائمة مواضيع الخوارزميات العامة and قائمة المصطلحات المتعلقة بالخوارزميات و بنى البيانات.
خوارزميات توافقية Combinatorial algorithms
الخوارزميات التوافقية العامة
- Floyd's cycle-finding algorithm: finds cycles in iterations
- (uniformly distributed) Pseudorandom number generators:
- Robinson-Schensted algorithm: generates permutations from pairs of Young tableaux
خوازميات المخططات
مقالة رئيسية : نظرية المخططات
- 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
- 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
- Hungarian algorithm: algorithm for finding a perfect matching
- Coloring algorithm: Graph coloring algorithm.
- Nearest neighbour algorithm: Nearest neighbor algorithm
خوارزميات البحث
- بحث خطي Linear search : إيجاد عنصر في قائمة غير مرتبة .
- خوارزمية الاختيار Selection algorithm : إيجاد أكبر (ثاني , ثالث , ...) عنصر في القائمة .
- Binary search algorithm: 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* 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.
خوارزميات السلاسل النصية String algorithms
البحث
- Aho-Corasick algorithm
- Bitap algorithm
- Boyer-Moore string search algorithm
- Knuth-Morris-Pratt algorithm
- Rabin-Karp string search algorithm
- Longest-common subsequence problem: Haskell's dynamic programming algorithm
- Longest increasing subsequence problem
- Shortest common supersequence problem
- longest common substring problem
المطابقة مع الأقرب Approximate matching
خوارزميات الترتيب
- Binary tree sort
- 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
- Topological sort
خوارزميات الدمج
- Simple Merge algorithm
- k-way Merge algorithm
خوارزميات الضغط
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
- 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
- Arithmetic coding: advanced entropy coding
- Range encoding: data compression method that is believed to approach the compression ratio of arithmetic coding
- Huffman coding: simple lossless compression taking advantage of relative character frequencies
- 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
- 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
- Gift wrapping algorithm: determining the convex hull of a set of points
- Gilbert-Johnson-Keerthi distance algorithm: determining the smallest distance between two convex shapes.
- 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
رسوميات حاسوبية
- 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: 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.
- Spline interpolation: Reduces error with Runge's phenomenon.
رؤية حاسوبية Computer vision
- Epitome: represent an image or video by a smaller image or video.
Cryptographic algorithms
(See also Topics in cryptography for an 'analytical glossary')
- Symmetric (secret key) encryption:
- Advanced Encryption Standard (AES), winner of NIST competition
- Blowfish
- Data Encryption Standard (DES), sometimes DE Algorithm, winner of NBS selection competition, replaced by AES for most purposes
- IDEA
- RC4 (cipher)
- Asymmetric (public key) encryption:
- Cryptographic Message digest 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, allegedly an improvement on Yarrow
- Other
- 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
- Richardson-Lucy deconvolution: image de-blurring algorithm
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.
خوارزميات جينية
- Fitness proportionate selection: also known as roulette-wheel selection
خوارزميات طبية
Memory Allocation and deallocation algorithms
- Boehm garbage collector: Conservative garbage collector
- Buddy memory allocation: Algorithm to allocate memory such that fragmentation is less.
- Generational garbage collector: Fast garbage collectors that segregate memory by age
- Mark and sweep
- Reference counting
شبكات عصبونية
جبر عددي 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 :
- Euclidean algorithm: computes the greatest common divisor
- Extended Euclidean algorithm: Also solves the equation ax+by = c.
- Binary gcd algorithm: طريقة فعالة لحساب gcd.
- Integer factorization: breaking an integer into its prime factors
- Multiplication algorithms: fast multiplication of two numbers
- Booth's multiplication algorithm
- Primality tests: determining whether a given number is prime
خوارزميات عددية
See also main article numerical analysis and list of numerical analysis topics
- Dancing Links: finds all solutions to the exact cover problem
- De Boor algorithm: computes splines
- 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
- Kahan summation algorithm: a more accurate method of summing floating-point numbers
- MISER algorithm: Monte Carlo simulation, numerical integration
- Newton's method: finds zeros of functions with calculus
- 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
- Risch algorithm: Translates indefinite integral to algebraic problem
خوارزميات أنظمة التشغيل
- 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.
- rsync: Algorithm used to transmit files efficiently between two 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:
- 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
رياضيات الاستمثال
- 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
- 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
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:
- 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
- GLR parser:An algorithm for parsing any context-free grammar from tomita. It is tuned for deterministic grammars, on which it performs almost linear time and O(n3) in worst case.
خوارزميات كمومية
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
هدسة البرمجيات
- 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?
نظرية التحسيب و الأتمتة
- Powerset construction: Algorithm to convert nondeterministic automaton to deterministic automaton.
- Todd-Coxeter algorithm: Procedure for generating cosets.
مواضيع أخرى
- خوارزمية فلكية
- Baum-Welch algorithm
- Bit manipulation algorithms: Create bit mask algorithm
- Doomsday algorithm: day of the week
- Schreier-Sims algorithm
- Viterbi algorithm
- Xor swap algorithm: swaps the values of two variables without using a buffer
- Luhn algorithm: a method of validating identification numbers