Data Compression | Parsing
Total Page:16
File Type:pdf, Size:1020Kb
Algoritma kombinatorial [sunting] Algoritma kombinatorial umum Algoritma pencarisiklus Floyd: iterasi untuk mencari siklus dalam barisan/s ekuens (uniformly distributed) Pseudorandom number generators: Blum Blum Shub Mersenne twister RobinsonSchensted algorithm: generates permutations from pairs of Young tab leaux [sunting] Algoritma graph !Artikel utama untuk bagian ini adalah: Teori graph Algoritma BellmanFord: menghitung jarak terpendek pada graf berbobot, di ma na sisi bisa memiliki bobot negatif Algoritma Dijkstra: menghitung jarak terpendek pada graf berbobot, tanpa sis i berbobot negatif. Algoritma FloydWarshall: menghitung solusi jarak terpendek untuk semua pasa ng titik pada sebuah graf berarah dan berbobot Algoritma Kruskal: mencari pohon rentang minimum pada sebuah graf Algoritma Prim: mencari pohon rentang minimum pada sebuah graf Algoritma Boruvka: mencari pohon rentang minimum pada sebuah graf Algoritma FordFulkerson: computes the maximum flow in a graph Algoritma EdmondsKarp: implementation of FordFulkerson Nonblocking Minimal Spanning Switch say, for a telephone exchange Spring based algorithm: algorithm for graph drawing Topological sort Algoritma Hungaria: algorithm for finding a perfect matching [sunting] Algoritma pencarian Pencarian linear: mencari sebuah item pada sebuah list tak berurut Algoritma seleksi: mencari item kek pada sebuah list Pencarian biner: menemukan sebuah item pada sebuah list terurut Pohon Pencarian Biner Pencarian Breadthfirst: menelusuri sebuah graf tingkatan demi tingkatan Pencarian Depthfirst: menelusuri sebuah graf cabang demi cabang Pencarian Bestfirst: menelusuri sebuah graf dengan urutan sesuai kepentinga n dengan menggunakan antrian prioritas Pencarian pohon A*: kasus khusus dari pencarian bestfirst Pencarian Prediktif: pencarian mirip biner dengan faktor pada magnitudo dari syarat pencarian terhadap nilai atas dan bawah dalam pencarian. Kadangkadang d isebut pencarian kamus atau pencarian interpolasi. Tabel Hash: mencari sebuah item dalam sebuah kumpulan tak berurut dalam wakt u O(1). [sunting] Algoritma string [sunting] Pencarian Algoritma brute force Algoritma AhoCorasick Algoritma Bitap Algoritma BoyerMoore Algoritma KnuthMorrisPratt Algoritma KarpRabin [sunting] Approximate matching Levenshtein edit distance [sunting] Algoritma penyusunan 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 fr om the heap and adding it to the end of the list Insertion sort: determine where the current item belongs in the list of sort ed ones, and insert it there Merge sort: sort the first and second half of the list separately, then merg e the sorted lists Pancake sorting Pigeonhole sort Quicksort: divide list into two, with all items on the first list coming bef ore 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 e nd of the sorted list Shell sort: an attempt to improve insertion sort Smoothsort Stupid sort Topological sort [sunting] Compression algorithms [sunting] Lossless compression algorithms BurrowsWheeler transform: preprocessing useful for improving lossless compr ession DEFLATE: lossless data compression Delta encoding: aid to compression of data in which sequential data occurs f requently Incremental encoding: delta encoding applied to sequences of strings LZW: lossless data compression (LempelZivWelch) LZ77 (algorithm): LZ77 and LZ78 are the names for the two lossless data comp ression algorithms LZMA: short for LempelZivMarkov chainAlgorithm LZO: data compression algorithm that is focused on speed PPM compression algorithm ShannonFano coding Truncated binary encoding Runlength encoding: lossless data compression taking advantage of strings o f 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 Entropy coding with known entropy characteristics Unary coding: code that represents a number n with n ones followed by a zero Elias deltagammaomega coding: universal code encoding the positive int egers Fibonacci coding: universal code which encodes positive integers into bi nary code words Golomb coding: form of entropy coding that is optimal for alphabets foll owing geometric distributions Rice coding: form of entropy coding that is optimal for alphabets follow ing geometric distributions [sunting] Lossy compression algorithms Linear predictive coding: lossy compression by representing the spectral env elope of a digital signal of speech in compressed form Alaw algorithm: standard companding algorithm Mulaw 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 sig nals or photographic images Vector quantization: technique often used in lossy data compression Wavelet compression: form of data compression well suited for image compress ion (sometimes also video compression and audio compression) [sunting] 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 [sunting] Grafik komputer Bresenham's line algorithm: plots points of a 2dimensional array to form a straight line between 2 specified points (uses decision variables) DDA line algorithm: plots points of a 2dimensional array to form a straight line between 2 specified points (uses floatingpoint math) Flood fill: fills a connected region of a multidimensional array with a spe cified symbol Painter's algorithm: detects visible parts of a 3dimensional scenery Ray tracing: realistic image rendering [sunting] Algoritma Kriptografi Lihat juga Topik dalam kriptografi Symmetric (secret key) encryption: Advanced Encryption Standard (AES), winner of NIST competition Blowfish Data Encryption Standard (DES), sometimes DE Algorithm, winner of NBS se lection competition, replaced by AES for most purposes IDEA RC4 (cipher) Asymmetric (public key) encryption or digital signature: DSA ElGamal RSA DiffieHellman key exchange NTRUEncrypt Cryptographic Message digest functions: MD5 Note that there is now a method of generating collisions for MD5 RIPEMD160 SHA1 HMAC: keyedhash message authentication Cryptographically secure pseudorandom number generators Blum Blum Shub based on the hardness of factorization Yarrow algorithm Fortuna, allegedly an improvement on Yarrow Other DiffieHellman: key exchange [sunting] Algoritma Distributed systems Lamport ordering: a partial ordering of events based on the happenedbefore relation Snapshot algorithm: a snapshot is the process of recording the global state of a system Vector ordering: a total ordering of events [sunting] Algoritma Numerical See also main article numerical analysis and list of numerical analysis topics Algoritma De Boor: computes splines. Algoritma De Casteljau: computes Bezier curves False position method: approximates roots of a function GaussJordan elimination: solves systems of linear equations Algoritma GaussLegendre: computes the digits of pi GaussNewton algorithm: find minimum of function of several variables Kahan summation algorithm: a more accurate method of summing floatingpoint numbers LevenbergMarquardt algorithm: find minimum of function of several variables MISER algorithm: Monte Carlo simulation, numerical integration Newton's method: finds zeros of functions with calculus Bracketing Methods: Rounding functions: the classic ways to round numbers Secant method: approximates roots of a function Shifting nthroot algorithm: digit by digit root extraction Square root: approximates the square root of a number Strassen algorithm [sunting] Optimization algorithms Simplex algorithm: An algorithm for solving the linear programming problem Branch and bound Simulated annealing Genetic algorithms Particle swarm Tabu search Local search [sunting] Digital signal processing CORDIC: Fast trigonometric function computation technique. Fast Fourier transform: determines the frequencies contained in a (segment o f a) signal CooleyTukey FFT algorithm Rainflowcounting algorithm: Reduces a complex stress history to a count of elementary stressreversals for use in fatigue analysis Osem: algorithm for processing of medical images Goertzel algorithm Can be used for DTMF digit decoding. Discrete Fourier transform Rader's FFT algorithm Bluestein's FFT algorithm [sunting] Number theoretic algorithms Discrete logarithm: Babystep giantstep Pollard's rho algorithm for logarithms PohligHellman algorithm Index calculus algorithm Euclidean algorithm: computes the greatest common divisor Integer factorization: breaking an integer into its prime factors Trial division Lenstra elliptic curve factorization Pollard's rho