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

Dictionaryof algorithms and data structures

3,7K 123 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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

balanced binary tree: red-black tree analysis, explanation,examples, and code C, Ben Pfaff's AVL tree explanation Cbalanced merge sort: C using an auxiliary function to selectnext file C

Trang 2

Structures

This is a dictionary of algorithms, algorithmic techniques, datastructures, archetypical problems, and related definitions

Algorithms include common functions, such as Ackermann'sfunction Problems include traveling salesman and Byzantinegenerals Some entries have links to implementations and moreinformation 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 totaldownload 1/20 as big as this page

Some terms with a leading variable, such as n-way, m-dimensional, or p-branching, are under k- You may find terms

dealing with hardware, the computer industry, slang, etc., in theFree 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 clickthe button To look up algorithms by example, use AlgoVista

Trang 3

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

Trang 4

absolute performance guaranteeabstract data type

Trang 6

balanced multiway mergebalanced multiway tree

balanced quicksort

balanced tree

balanced two-way merge sortBANG file

binary relation

Trang 9

cactus stack

Calculus of Communicating Systemscalendar queue

Trang 10

confluently persistent data structureconjunction

connected components

Trang 16

extendible hashing

external index

external memory algorithmexternal memory data structureexternal merge

Trang 18

functional data structure

Trang 20

height-balanced binary search treeheight-balanced tree

Trang 21

interior-based representationinternal node

internal sort

interpolation search

interpolation-sequential searchinterpolation sort

inverted index

Trang 22

irreflexiveisomorphiciteration

Trang 23

Jaro-Winkler

Johnson's algorithmJohnson-Trotter

j sort

jump search

Trang 24

Kripke structure

Kruskal's algorithm

kth order Fibonacci numberskth shortest path

Trang 27

Malhotra-Kumar-Maheshwari blocking flowManhattan distance

Trang 28

minimal antichain decompositionminimal perfect hashing

Trang 30

null treeNYSIIS

Trang 32

out-degree

overlapping subproblems

Trang 33

partial function

partially decidable problem

partially dynamic graph problempartially ordered set

partially persistent data structurepartial order

Trang 34

polynomial-time Church-Turing thesispolynomial-time reduction

Trang 36

queue

quick search

quicksort

Trang 39

R*-treeR-treerun time

Trang 41

single-source shortest-path problemsingly linked list

Trang 42

st-digraph

Steiner minimum tree

Trang 43

string matching with mismatchesstring searching

Trang 45

top-down tree automatontopological order

topological sort

topology tree

total function

totally decidable languagetotally decidable problemtotally undecidable problemtotal order

Trang 46

transitive closure

transitive reduction

transpose sequential searchtraveling salesman

Trang 47

UKP

unary function

unbounded knapsack problemuncomputable function

Trang 48

Van Emde-Boas priority queuevehicle routing problem

Trang 50

xor

Trang 51

Yule distribution

Trang 52

Data Structures and Algorithms is a wonderful site with

illustrations, explanations, analysis, and code taking the studentfrom arrays and lists through trees, graphs, and intractable

problems

Trang 54

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 notendorse commercial products advertised or available on thissite

Information Technology Laboratory

NIST is an agency of the U.S Commerce Department's

Technology Administration

Trang 56

Structures

This introduction is brief on purpose Here is more explanationand a NEW search form

α - amortized cost

ancestor - balanced binary tree

balanced k-way merge sort - bintree

bipartite graph - brute force string search with mismatchesB-spline - Chinese postman problem

Trang 58

of

Trang 61

nondeterministic Turing machine [D]oracle set [D]

Trang 62

bounded stack [S]

Bradford's law [D]

brute force [T]

Trang 64

intersection [D]

inverse Ackermann function [A]irreflexive [D]

multi-set [D]

Trang 67

Zeller's congruence [A]0-ary function [D]

Trang 68

n queens [P]

packing [D]

partition [D]

Trang 69

0-1 knapsack problem [P]

Trang 71

External Memory Algorithms and Data Structures

external memory algorithm [A]

external memory data structure [S]

Trang 72

polyhedron [D]

prune and search [T]

quadtree complexity theorem [D]

Trang 73

star-shaped polygon [D]vertical visibility map [D]visibility map [D]

visible [D]

Trang 74

acyclic directed graph [D]

acyclic graph [D]

adjacency-list representation [S]adjacency-matrix representation [S]adjacent [D]

Trang 75

complete graph [D]

completely connected graph [D]concurrent flow [D]

Trang 77

single-source shortest-path problem [P]sink [D]

Trang 79

weighted, directed graph [D]weighted graph [D]

Trang 80

extended Euclid's algorithm [A]factorial [D]

fast fourier transform [A]

Ferguson-Forcade algorithm [A]FFT [A]

kth order Fibonacci numbers [D]LCM [D]

least common multiple [D]

linear congruential generator [A]mean [D]

sieve of Eratosthenes [A]

square root [A]

Stirling's approximation [D]

Stirling's formula [D]

Trang 81

Batcher sort [A]

bitonic sort [A]

concurrent read, concurrent write [D]concurrent read, exclusive write [D]CRCW [D]

CREW [D]

ERCW [D]

EREW [D]

exclusive read, concurrent write [D]exclusive read, exclusive write [D]graph concentration [D]

Trang 82

work-preserving [D]

Trang 86

index file [S]

interpolation search [A]

interpolation-sequential search [A]inverted file index [S]

Trang 88

subsequence [D]

substring [D]

suffix [D]

suffix array [S]

Trang 89

text searching [P]

transpose sequential search [A]TST [S]

Trang 90

balanced two-way merge sort [A]bidirectional bubble sort [A]

double-direction bubble sort [A]Dutch national flag [A]

Trang 92

two-way merge sort [A]UnShuffle sort [A]

unsorted list [D]

weak-heap sort [A]

Trang 95

polynomial-time Church-Turing thesis [D]

polynomial-time reduction [D]

Post's correspondence problem [P]

Trang 96

primitive recursive [D]

prisoner's dilemma [P]

probabilistically checkable proof [D]process algebra [D]

reduction [D]

relational structure [S]

relative performance guarantee [D]relaxation [D]

time-constructible function [D]

time/space complexity [D]

Trang 97

totally decidable language [D]totally decidable problem [D]totally undecidable problem [D]tractable [D]

Trang 99

digital tree [S]

directed acyclic word graph [S]

discrete interval encoding tree [S]double-ended priority queue [S]

Trang 102

CTL [D]

formal methods [D]

formal verification [D]

Trang 105

which have

Trang 106

This is the web page of terms with definitions that have links toimplementations with source code The language is in

parentheses We also list all entries by type, for instance,

whether it is an algorithm, a definition, a problem, or a datastructure, and entries by area, for instance, graphs, trees,

sorting, etc

Don't use this site to cheat Teachers, contact me if I can help

We need people to contribute If terms are missing or you canadd or correct definitions, please contact me by email

(paul.black@nist.gov) or by other means

By selecting almost any of these links, you will be leaving NISTwebspace We provided these links because they may haveinformation of interest to you No inferences should be drawnbecause some sites are referenced, or not, from this page

There may be other web sites that are more appropriate foryour purpose NIST does not necessarily endorse the viewsexpressed, or concur with the facts presented on these sites.Further, NIST does not endorse any commercial products thatmay be mentioned on these sites Please address commentsabout this page to paul.black@nist.gov

A great source of implementations, organized by area and

reviewed for quality, is the Stony Brook Algorithm Repository Agreat source of implementations of mathematical functions isthe NIST Guide to Available Mathematical Software or GAMS.Java is a trademark of Sun Microsystems, Inc

Run on Wed Jun 11 14:27:39 2003

Trang 107

adaptive Huffman encoding: (C)

Alpha Skip Search algorithm: Christian Charras' and ThierryLecroq's Exact String Matching Algorithms (C)

American flag sort: (C) It is program C (C) in the paper

Apostolico-Crochemore: Christian Charras' and Thierry

Lecroq's Exact String Matching Algorithms (C)

Apostolico-Giancarlo algorithm: Christian Charras' and ThierryLecroq's Exact String Matching Algorithms (C)

approximate string matching: See implementations at stringmatching (C and Pascal)

arithmetic coding: Theory development and implementation(C)

array: (C), Read and write different arrays (Fortran, C++)

association list: (C++, Pascal, and Fortran), Kazlib (C)

AVL tree: Ben Pfaff's explanations and code (C), (Java) needsinsert, delete, search, etc from the functions directory, Worst-case behavior of traversal, annotated for real time

(WOOP/ADA)

balanced binary tree: red-black tree analysis, explanation,examples, and code (C), Ben Pfaff's AVL tree explanation (C)balanced merge sort: (C) using an auxiliary function to selectnext file (C), (Java)

balanced multiway tree: data structure definition (C and

Pascal), insert (C and Pascal) using auxiliary functions (C andPascal), search (C and Pascal), (Pick Basic?)

Batcher sort: explanation, analysis, bibliography, etc (Java),explanation and animation (C), reference source code (C)

BB tree: Worst-case behavior of traversal, annotated for realtime (WOOP/ADA), including bibliography

Bellman-Ford algorithm: explanation and example (C-like

pseudocode)

bidirectional bubble sort: animation and code (Java);

demonstration and source code (Java); animation and code,see cocktail sort (Java)

binary insertion sort: (C)

Trang 108

binary priority queue: insert (C and Pascal) and delete (C andPascal)

binary search: recursive and iterative code (C); search (C),(Scheme), Worst-case behavior annotated for real time

(WOOP/ADA), including bibliography

binary search tree: insert, search, remove max, number ofleaves, etc (C++); Ben Pfaff's insert, delete, search, copy,etc (literate C); insert, search, and maximum (Pascal); insert(C), insert (Lisp), insert (C and Pascal), search (C and Pascal),and insert, search, delete, and various traversals (Modula-2).binary tree: examples, analysis, and C code, Worst-case

behavior of traversal, annotated for real time (WOOP/ADA).bin packing problem: (C++)

bin sort: analysis, explanation, and code (C), and (C)

bitonic sort: explanation, analysis, bibliography, etc (Java),explanation and animation (C), reference source code (C)

Boyer-Moore: Christian Charras' and Thierry Lecroq's ExactString Matching Algorithms (C), (C) which uses Boyer-Moorepreprocessing (C)

Boyer-Moore-Horspool: Christian Charras' and Thierry Lecroq'sExact String Matching Algorithms (C) entry for Horspool, (C)

or (Pascal)

bozo sort: demonstration and source code (Java)

B+-tree: A B+-tree package, b+tree_mjr (C) , with patchesb+tree, was posted on comp.sources.misc, volume 10 There

is also the bplus (C) package

branch and bound: A page of branch and bound

implementations (C, C++, Matlab, Fortran, executables, etc.).breadth-first search: (Lisp), (Prolog), (Java) which extendsSearchApplet (Java)

brick sort: Sedgewick's Analysis of Shellsort and Related

Algorithms (C)

brute force string search: Christian Charras' and Thierry

Lecroq's Exact String Matching Algorithms (C), (C and Pascal)brute force string search with mismatches: (C and Pascal)

B*-tree: data structure definition (C and Pascal), B-tree insert

Trang 109

B-tree: data structure definition (C and Pascal), insert (C andPascal) using auxiliary functions (C and Pascal), search (C andPascal), (Pick Basic?)

bubble sort: animation and code (Java); sinking sort

explanation and animation (Java); demonstration and sourcecode (Java) - but code might not render properly; explanation(C); (Java)

Colussi: Christian Charras' and Thierry Lecroq's Exact StringMatching Algorithms (C)

cutting stock problem: linear and nonlinear programming andalgebra packages (C and Fortran)

cycle: graph cycle detector (C)

database: (C++, Pascal, and Fortran), Kazlib (C)

depth-first search: (Lisp), (Prolog)

deterministic finite automata string search: description andanimation (C), (C) which uses a finite automaton structure (C)and builds a recognizer (C)

Trang 110

demonstration and source code (Java); animation and code,see cocktail sort (Java)

double hashing: insert (C and Pascal), search (C and Pascal)double metaphone: Metaphone and double metaphone (Basic,

C, Perl, and C++), zip'd (C++)

doubly linked list: Illustrations, too (C++)

Dutch national flag: explanation and development (C)

dynamic programming: Oleg Kiselyov's program to optimallylay out a page (C++) using dynamic programming

edge coloring: (C++, Mathematica, and C)

edge connectivity: (Mathematica, C, and Pascal)

edit distance: Levenshtein distance (Java, C++, Visual Basic)enfilade: Green (C)

Euclidean algorithm: Worst-case behavior annotated for realtime (WOOP/ADA), (Scheme)

Euclidean Steiner tree: GeoSteiner (C) - software for

computing steiner trees

Euclid's algorithm: Worst-case behavior annotated for realtime (WOOP/ADA), (Scheme)

Trang 111

Eulerian path: (Mathematica and Fortran)

exact string matching: Christian Charras' and Thierry Lecroq'sExact String Matching Algorithms (C), (C++ and Pascal),

Strmat (C) - a collection of string matching and pattern

discovery programs, (Fortran), (Fortran)

exchange sort: animation and code (Java); sinking sort

explanation and animation (Java); demonstration and sourcecode (Java) - but code might not render properly; explanation(C); (Java)

extendible hashing: A description including a hash function(COBOL)

external quicksort: (C)

extrapolation search: Worst-case behavior annotated for realtime (WOOP/ADA), including bibliography, (Pascal)

factorial: (Scheme)

fast fourier transform: Worst-case behavior annotated for realtime (WOOP/ADA)

FIFO: (Java) Jonathan G Campbell's Queue and Stack

Classes (C++) and (Java)

Find: analysis and comparison (Rexx)

finite state automaton: Oleg Kiselyov's program to minimize afinite state machine (Prolog)

finite state machine: Oleg Kiselyov's program to minimize afinite state machine (Prolog)

finite state machine minimization: (C++ and Pascal)

Ford-Bellman: explanation and example (C-like pseudocode)frequency count heuristic: Discussion and code (C)

Galil-Giancarlo: Christian Charras' and Thierry Lecroq's ExactString Matching Algorithms (C)

Trang 112

GCD: (Scheme)

graph: GraphEd Graph Editor and Layout Program (C),

graph manipulation (C++, C, Mathematica, and Pascal), build,traverse, top sort, etc weighted, directed graphs (Java),

graph generating (C, Mathematica, Pascal, C++, and Fortran)graph drawing: Links to graph drawing packages (Java, C,etc.), draw a graph nicely (C and Mathematica), draw a graph

in the plane such that no edges cross (C, C++, and

Mathematica), GraphEd: Graph Editor and Layout Program(C)

graph isomorphism: (C and Mathematica)

graph partition: (C++)

Gray code: Glenn Rhoads' Snippets (c) binary-to-Gray andGray-to-binary conversion (C) with history, references, andapplication to genetic algorithms convert between binary andGray (C): a PDF document of section 20.2 of Numerical

hash table: chaining: (C), linear probing hashing: insert (C),look up (C), Kazlib (C), chaining: explanations, diagrams, andcode (Visual Basic)

heap: delete (C) and insert (C and Pascal) both of which usethe auxiliary function siftup (C and Pascal), explanation,

examples, and C code, (Fortran)

heapsort: (Java), (Java), Worst-case behavior annotated forreal time (WOOP/ADA), including bibliography

heaviest common subsequence: (C and Mathematica)

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