1. Trang chủ
  2. » Công Nghệ Thông Tin

Dictionaryof algorithms and data structures

3,7K 122 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3.723
Dung lượng 9,52 MB

Nội dung

Dictionary of Algorithms and Data Structures This is a dictionary of algorithms, algorithmic techniques, data structures, archetypical problems, and related definitions Algorithms include common functions, such as Ackermann's function Problems include traveling salesman and Byzantine generals Some entries have links to implementations and more information Index pages list entries by area, for instance, sorting, searching, or graphs, and by type, for example, algorithms or data structures The two-level index has a total download 1/20 as big as this page Don't use this site to cheat Teachers, contact me if I can help To define or correct terms, please contact Paul E Black We need help in automata theory, combinatorics, parallel or randomized algorithms, heuristics, and quantum computing We do not include algorithms particular to business data processing, communications, operating systems or distributed algorithms, programming languages, AI, graphics, or numerical analysis: it is tough enough covering "general" algorithms and data structures However, if you want to tackle one of these areas, we'll consider including them Some terms with a leading variable, such as n-way, mdimensional, or p-branching, are under k- You may find terms dealing with hardware, the computer industry, slang, etc., in the Free On-Line Dictionary Of Computing or in A Glossary of Computer Oriented Abbreviations and Acronyms To look up words or phrases, enter them in the box, then click the button To look up algorithms by example, use AlgoVista Search the Dictionary A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ρ-approximation algorithm A absolute performance guarantee abstract data type (a,b)-tree accepting state Ackermann's function active data structure acyclic directed graph acyclic graph adaptive heap sort adaptive Huffman encoding adaptive k-d tree adaptive sort address-calculation sort adjacency-list representation adjacency-matrix representation adjacent admissible vertex ADT adversary algorithm algorithm B algorithm BSTW algorithm FGK algorithmically solvable algorithm V all pairs shortest path alphabet Alpha Skip Search algorithm alternating path alternating Turing machine alternation American flag sort amortized cost ancestor and ANSI antichain antisymmetric AP Apostolico-Crochemore Apostolico-Giancarlo algorithm approximate string matching approximation algorithm arborescence arc arithmetic coding array array index array merging array search articulation vertex assignment problem association list associative associative array asymptotically tight bound asymptotic bound asymptotic equipartition property asymptotic lower bound asymptotic space complexity asymptotic time complexity asymptotic upper bound augmenting path automaton average case average-case cost AVL tree B backtracking bag balance balanced binary search tree balanced binary tree balanced k-way merge sort balanced merge sort balanced multiway merge balanced multiway tree balanced quicksort balanced tree balanced two-way merge sort BANG file Batcher sort Baum Welch algorithm BB tree BDD BD-tree Bellman-Ford algorithm Benford's law best case best-case cost best-first search biconnected component biconnected graph bidirectional bubble sort big-O notation binary function binary GCD algorithm binary heap binary insertion sort binary knapsack problem binary priority queue binary relation binary search binary search tree binary tree binary tree representation of trees bingo sort binomial heap binomial tree bin packing problem bin sort bintree bipartite graph bipartite matching bisector bitonic sort bit vector Bk tree block block addressing index blocking flow block search Bloom filter blossom bogosort boolean boolean expression boolean function border bottleneck traveling salesman bottom-up tree automaton boundary-based representation bounded error probability in polynomial time bounded queue bounded stack Boyer-Moore Boyer-Moore-Horspool bozo sort B+-tree BPP Bradford's law branch and bound branching breadth-first search Bresenham's algorithm brick sort bridge British Museum algorithm brute force brute force string search brute force string search with mismatches B-spline BSP-tree B*-tree B-tree bubble sort bucket bucket array bucketing method bucket sort bucket trie buddy system buddy tree build-heap busy beaver BV-tree Byzantine generals C cactus stack Calculus of Communicating Systems calendar queue candidate consistency testing candidate verification canonical complexity class capacitated facility location capacity capacity constraint cartesian tree cascade merge sort Cayley-Purser CCS C curve cell probe model cell tree cellular automaton centroid certificate chain chaining child Chinese postman problem Chinese remainder theorem Christofides algorithm Christofides heuristic chromatic index chromatic number Church-Turing thesis circuit circuit complexity circuit value problem circular list circular queue clique clique problem clustering clustering free coalesced hashing coarsening cocktail shaker sort codeword coding tree collective recursion collision collision resolution scheme Colussi combination comb sort Communicating Sequential Processes commutative compact DAWG comparison sort competitive analysis competitive ratio complement complete binary tree complete graph completely connected graph complete tree complexity complexity class computable concave function concurrent flow concurrent read, concurrent write concurrent read, exclusive write configuration confluently persistent data structure conjunction connected components S saguaro stack SAM saturated edge SBB tree scan scapegoat tree search search tree search tree property secant search secondary clustering segment Select select and partition selection problem selection sort select kth element select mode self-loop self-organizing heuristic self-organizing list self-organizing sequential search semidefinite programming separate chaining hashing separation theorem sequential search set set cover set packing shadow heap shadow merge shadow merge insert shaker sort Shannon-Fano coding shared memory Shell sort Shift-Or Shor's algorithm shortcutting shortest common supersequence shortest path shortest spanning tree shuffle sibling Sierpinski curve Sierpinski triangle sieve of Eratosthenes sift up signature Simon's algorithm simple merge simple path simple uniform hashing simplex simulated annealing simulation theorem single-destination shortest-path problem single-pair shortest-path problem single program multiple data single-source shortest-path problem singly linked list singularity analysis sink sinking sort skd-tree skew symmetry skip list Skip Search slope selection Smith algorithm Smith-Waterman algorithm smoothsort solvable sort sorted array sorted list sort in place sort merge soundex source space-constructible function spaghetti stack spanning tree sparse graph sparse matrix sparsification sparsity spatial access method spectral test splay tree SPMD square matrix square root SST stable stack stack tree star-shaped polygon start state state state machine state transition static static Huffman encoding s-t cut st-digraph Steiner minimum tree Steiner point Steiner ratio Steiner tree Steiner vertex Steinhaus-Johnson-Trotter Stirling's approximation Stirling's formula stooge sort straight-line drawing strictly decreasing strictly increasing strictly lower triangular matrix strictly upper triangular matrix string string editing problem string matching string matching on ordered alphabets string matching with errors string matching with mismatches string searching string similarity search strip packing strongly connected component strongly connected graph strongly NP-hard subadditive ergodic theorem subgraph subgraph isomorphism subsequence subset substring subtree suffix suffix array suffix automaton suffix tree superimposed code superset supersink supersource symmetric symmetrically linked list symmetric binary B-tree symmetric set difference symmetry breaking T tail tail recursion target temporal logic terminal terminal node ternary search tree text text searching theta threaded binary tree threaded tree three-dimensional three-way merge sort three-way radix quicksort time-constructible function time/space complexity top-down radix sort top-down tree automaton topological order topological sort topology tree total function totally decidable language totally decidable problem totally undecidable problem total order tour tournament towers of Hanoi tractable transducer transition transition function transitive transitive closure transitive reduction transpose sequential search traveling salesman treap tree tree automaton tree contraction tree editing problem tree sort tree traversal triangle inequality triconnected graph trie trinary function tripartition TSP TST Turbo-BM Turbo Reverse Factor Turing machine Turing reduction Turing transducer twin grid file two-dimensional two-level grid file 2-3-4 tree 2-3 tree Two Way algorithm two-way linked list two-way merge sort U UKP unary function unbounded knapsack problem uncomputable function uncomputable problem undecidable undecidable language undecidable problem undirected graph uniform circuit complexity uniform circuit family uniform hashing uniform matrix union union of automata universal hashing universal state universal Turing machine universe UnShuffle sort unsolvable problem unsorted list upper triangular matrix V Van Emde-Boas priority queue vehicle routing problem Veitch diagram Venn diagram vertex vertex coloring vertex connectivity vertex cover vertex set vertical visibility map vertices virtual hashing visibility map visible Viterbi algorithm VRP W walk weak-heap weak-heap sort weight-balanced tree weighted, directed graph weighted graph window witness work work-depth model work-efficient work-preserving worst case worst-case cost worst-case minimum access X xor Y Yule distribution Z Zeller's congruence 0-ary function 0-1 knapsack problem Zhu-Takaoka Zipfian distribution Zipf's law ZPP We thank those who contributed definitions as well as many others who offered suggestions and corrections Here are some references on algorithms and data structures [CLR90] Introduction to Algorithms, Thomas H Cormen, Charles E Leiserson, and Ronald L Rivest, MIT Press, 1990 [HS83] Fundamentals of Data Structures, Ellis Horowitz and Sartaj Sahni, Computer Science Press, 1983 Algorithms in C, Robert Sedgewick, Addison-Wesley, 1997 Handbook of Algorithms and Data Structures in Pascal and C, G Gonnet and R Baeza-Yates, Addison-Wesley, 1991 The Stony Brook Algorithm Repository, which has algorithms organized by type, succinct, illustrated definitions, and ratings of sites with implementations Data Structures and Algorithms is a wonderful site with illustrations, explanations, analysis, and code taking the student from arrays and lists through trees, graphs, and intractable problems Bibliography [AS98] Pankaj K Agarwal and Micha Sharir, Efficient Algorithms for Geometric Optimization, ACM Computing Surveys, 30(4):412-458, December 1998 [ATCH99] Algorithms and Theory of Computation Handbook, Mikhail J Atallah, ed., CRC Press LLC, 1999 [GCG92] P Gupta, P P Chakrabarti, and S Ghose, The Towers of Hanoi: Generalizations, Specializations, and Algorithms, Intern J Computer Math., 46:149-161, Gordon and Breach Science Publishers S.A., 1992 [GG98] Volker Gaede and Oliver Günther, Multidimensional Access Methods, ACM Computing Surveys, 30(2):170-231, June 1998 [Hirv01] Mika Hirvensalo, Quantum Computing, SpringerVerlag, 2001 [Knuth98] Donald E Knuth, The Art of Computer Programming, Addison-Wesley, volumes 1, 2, and 3, 3rd edition, 1998 [Leda98] LEDA (accessed 4 December 2002) [Stand98] Thomas Standish, Data Structures in Java, Addison-Wesley, 1998 [Sund98] Daniel M Sunday, A Very Fast Substring Search Algorithm, Communications of the ACM, 33(8):132-142, August 1998 [Vitt01] Jeffrey Scott Vitter, External Memory Algorithms and Data Structures: Dealing with Massive Data, ACM Computing Surveys, 33(2):209-271, June 2001 [Wier98] Roel Wieringa, A Survey of Structured and ObjectOriented Software Specification Methods and Techniques, ACM Computing Surveys, 30(4):459-527, December 1998 The FOLDOC style guide This dictionary is an example for Problem Set 4 of Software Engineering of Innovative Web Services Robots, please index all term pages, including spelling variants With JavaScript, below is a link to machine translation We provide the link because it may be of interest in some cases NIST does not necessarily endorse the results and has not checked the translation for accuracy Further, NIST does not endorse commercial products advertised or available on this site Created Fri Sep 4 16:39:23 1998 by Paul E Black (paul.black@nist.gov) This Trailer Updated Fri Apr 25 15:08:23 2003 by Paul E Black (paul.black@nist.gov) This page's URL is http://www.nist.gov/dads/ Hosted in part by the Software Quality group of the Software Diagnostics and Conformance Testing Division in the Information Technology Laboratory NIST is an agency of the U.S Commerce Department's Technology Administration ...Dictionary of Algorithms and Data Structures This is a dictionary of algorithms, algorithmic techniques, data structures, archetypical problems, and related definitions Algorithms include common functions, such as Ackermann's... need help in automata theory, combinatorics, parallel or randomized algorithms, heuristics, and quantum computing We do not include algorithms particular to business data processing, communications, operating systems or distributed algorithms, programming languages, AI, graphics, or numerical... algorithms, programming languages, AI, graphics, or numerical analysis: it is tough enough covering "general" algorithms and data structures However, if you want to tackle one of these areas, we'll consider including them

Ngày đăng: 19/04/2019, 15:15