List of terms relating to algorithms and data structures

From Wikipedia, the free encyclopedia

The NIST Dictionary of Algorithms and Data Structures[1] is a reference work maintained by the U.S. National Institute of Standards and Technology. It defines a large number of terms relating to algorithms and data structures. For algorithms and data structures not necessarily mentioned here, see list of algorithms and list of data structures.

This list of terms was originally derived from the index of that document, and is in the public domain, as it was compiled by a Federal Government employee as part of a Federal Government work. Some of the terms defined are:


A[]

B[]

C[]

D[]

  • DAG shortest paths
  • Damerau–Levenshtein distance
  • data structure
  • decidable
  • decidable language
  • decimation
  • decision problem
  • decision tree
  • degree
  • dense graph
  • depth
  • depth-first search (DFS)
  • deque
  • derangement
  • descendant (see tree structure)
  • deterministic
  • deterministic algorithm
  • deterministic finite automata string search
  • deterministic finite automaton (DFA)
  • deterministic finite state machine
  • deterministic finite tree automaton
  • deterministic pushdown automaton (DPDA)
  • deterministic tree automaton
  • Deutsch–Jozsa algorithm
  • DFTA
  • diagonalization argument
  • diameter
  • dichotomic search
  • dictionary (data structure)
  • diet (see discrete interval encoding tree below)
  • difference (set theory)
  • digital tree
  • digraph
  • Dijkstra's algorithm
  • dining philosophers
  • directed acyclic graph (DAG)
  • directed acyclic word graph (DAWG)
  • directed graph
  • disjoint set
  • disjunction
  • distributed algorithm
  • distribution sort
  • divide-and-conquer algorithm
  • divide and marriage before conquest
  • data domain
  • don't-care term
  • Doomsday rule
  • double-ended priority queue
  • double hashing
  • double left rotation
  • Double Metaphone
  • double right rotation
  • double-ended queue
  • doubly linked list
  • dragon curve
  • dual graph
  • dual linear program
  • dyadic tree
  • dynamic array
  • dynamic programming
  • dynamization transformation

E[]

  • edge
  • (elastic binary tree)
  • edge coloring
  • edge connectivity
  • edge crossing
  • edge-weighted graph
  • edit distance
  • 8 queens
  • element uniqueness
  • enfilade
  • Euclidean algorithm
  • Euclidean distance
  • Euclidean Steiner tree
  • Euclidean traveling salesman problem
  • Euclid's algorithm
  • Euler cycle
  • Eulerian graph
  • Eulerian path
  • exact string matching
  • EXCELL ()
  • exchange sort
  • exclusive or
  • exclusive read, concurrent write (ERCW)
  • exclusive read, exclusive write (EREW)
  • exhaustive search
  • existential state
  • expander graph
  • exponential
  • extended binary tree
  • extended Euclidean algorithm
  • extended k-d tree
  • extendible hashing
  • external memory algorithm
  • external merge
  • external node
  • external quicksort
  • external sort
  • extrapolation search
  • extremal
  • extreme point

F[]

  • facility location
  • factor (see substring)
  • factorial
  • fast fourier transform (FFT)
  • feasible region
  • feasible solution
  • feedback edge set
  • feedback vertex set
  • Ferguson–Forcade algorithm
  • Fibonacci number
  • Fibonacci search
  • Fibonacci tree
  • Fibonacci heap
  • Find
  • finite Fourier transform (discrete Fourier transform)
  • finite state automaton
  • finite-state machine
  • finite state machine minimization
  • finite-state transducer
  • first come, first served
  • first-in, first-out (FIFO)
  • flow
  • flow conservation
  • flow function
  • flow network
  • Floyd–Warshall algorithm
  • Ford–Bellman algorithm
  • Ford–Fulkerson algorithm
  • forest
  • formal language
  • formal methods
  • formal verification
  • forward index
  • fractal
  • fractional knapsack problem
  • free list
  • free tree
  • full binary tree
  • full inverted index
  • fully persistent data structure
  • fully polynomial approximation scheme
  • function (programming)
  • function (mathematics)
  • functional data structure

G[]

  • gamma function
  • global optimum
  • gnome sort
  • goobi
  • graph
  • graph coloring
  • graph drawing
  • graph isomorphism
  • graph partition
  • Gray code
  • greatest common divisor (GCD)
  • greedy algorithm
  • greedy heuristic
  • grid file
  • Grover's algorithm

H[]

  • halting problem
  • Hamiltonian cycle
  • Hamiltonian path
  • Hamming distance
  • Harter–Highway dragon
  • hash function
  • hash table
  • Hausdorff distance
  • head
  • heap
  • heapify
  • heap property
  • heapsort
  • height
  • height-balanced binary search tree
  • height-balanced tree
  • heuristic
  • hidden Markov model
  • highest common factor
  • Hilbert curve
  • histogram sort
  • homeomorphic
  • Huffman encoding
  • Hungarian algorithm
  • hybrid algorithm
  • hyperedge
  • hypergraph

I[]

J[]

K[]

L[]

  • labeled graph
  • language
  • last-in, first-out (LIFO)
  • Las Vegas algorithm
  • lattice (group)
  • LCS
  • leaf
  • least common multiple (LCM)
  • leftist tree
  • left rotation
  • left-child right-sibling binary tree also termed first-child next-sibling binary tree, doubly chained tree, or filial-heir chain
  • Lempel–Ziv–Welch (LZW)
  • Levenshtein distance
  • lexicographical order
  • linear
  • linear congruential generator
  • linear hash
  • linear insertion sort
  • linear order
  • linear probing
  • linear program
  • linear search
  • link
  • linked list
  • list
  • little-o notation
  • Lm distance
  • load factor (computer science)
  • local alignment
  • local optimum
  • logarithm, logarithmic scale
  • longest common subsequence
  • longest common substring
  • Lotka's law
  • lower bound
  • lower triangular matrix
  • lowest common ancestor
  • l-reduction

M[]

N[]

O[]

  • objective function
  • occurrence
  • octree
  • odd–even sort
  • offline algorithm
  • offset (computer science)
  • omega
  • omicron
  • one-based indexing
  • one-dimensional
  • online algorithm
  • open addressing
  • optimal
  • optimal solution
  • optimal value
  • optimization problem
  • or
  • oracle set
  • oracle tape
  • oracle Turing machine
  • orders of approximation
  • ordered binary decision diagram (OBDD)
  • ordered tree
  • oriented acyclic graph
  • oriented graph
  • oriented tree
  • orthogonally convex rectilinear polygon
  • oscillating merge sort
  • out-degree
  • overlapping subproblems

P[]

Q[]

R[]

S[]

T[]

U[]

  • unary function
  • unbounded knapsack problem (UKP)
  • uncomputable function
  • uncomputable problem
  • undecidable language
  • undecidable problem
  • undirected graph
  • uniform circuit complexity
  • uniform circuit family
  • uniform matrix
  • union
  • universal hashing
  • universal state
  • universal Turing machine
  • universe
  • unsolvable problem
  • unsorted list
  • upper triangular matrix

V[]

W[]

X[]

Y[]

Z[]

References[]

  1. ^ Black, Paul E. "Dictionary of Algorithms and Data Structures". nist.gov. National Institute of Standards and Technology. Retrieved 2022-01-02.
  2. ^ a b Gerleman, Nick (2015-12-28). "The Bkd Tree". Medium. Retrieved 2020-10-07.
Retrieved from ""