Algorithms and Data Structures



α
ω
Ω
ρ-approximation algorithm
Θ
(a,b)-tree
0-based indexing
2-3 tree
2-3-4 tree
2-choice hashing
2-left hashing
8 queens
Absolute performance guarantee
Abstract data type
Accepting state
Ackermann's function
Active data structure
Acyclic directed graph
Acyclic graph
Adaptive heap sort
Adaptive Huffman coding
Adaptive k-d tree
Adaptive sort
Address-calculation sort
Adjacency-list representation
Adjacency-matrix representation
Adjacent
Admissible vertex
Adversary
Aho-Corasick
Algorithm
Algorithm BSTW
Algorithm FGK
Algorithmically solvable
All pairs shortest path
All simple paths
Alpha Skip Search algorithm
Alphabet
Alternating path
Alternating Turing machine
Alternation
American flag sort
Amortized cost
Ancestor
And
ANSI
Antichain
Antisymmetric
Apostolico-Crochemore
Apostolico-Giancarlo algorithm
Approximate string matching
Approximation algorithm
Arborescence
Arc
Arithmetic coding
Array
Array index
Array merging
Array search
Articulation point
Assignment problem
Association list
Associative
Associative array
Asymptotic bound
Asymptotic lower bound
Asymptotic space complexity
Asymptotic time complexity
Asymptotic upper bound
Asymptotically tight bound
Augmenting path
Automaton
Average case
Average-case cost
AVL tree
Axiomatic semantics
B*-tree
B+-tree
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
BBP algorithm
BD-tree
BDD
Bellman-Ford algorithm
Benford's law
Best case
Best-case cost
Best-first search
Biconnected component
Biconnected graph
Bidirectional bubble sort
Big-O notation
Bin packing problem
Bin sort
Binary function
Binary GCD
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
Bintree
Bipartite graph
Bipartite matching
Bisector
Bit vector
Block
Block addressing index
Block search
Blocking flow
Bloom filter
Blossom
Bogosort
Boolean
Boolean expression
Boolean function
Border
Boruvka's algorithm
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
Bradford's law
Branch and bound
Breadth-first search
Bresenham's algorithm
Brick sort
Bridge
British Museum technique
Brute force
Brute force string search
Brute force string search with mismatches
BSP-tree
Bubble sort
Bucket
Bucket array
Bucket trie
Bucketing method
Buddy system
Buddy tree
Build-heap
Burrows-Wheeler transform
Busy beaver
BV-tree
Byzantine generals
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
Caverphone
Cayley-Purser
CCS
Cell probe model
Cell tree
Cellular automaton
Centroid
Certificate
Chain
Chaining
Child
Chinese postman problem
Chinese remainder theorem
Christofides algorithm
Chromatic index
Chromatic number
Circuit
Circuit complexity
Circuit value problem
Circular list
Circular queue
Clique
Clique problem
Clustering
Clustering free
Coalesced chaining
Coarsening
Codeword
Coding tree
Collatz problem
Collective recursion
Collision
Collision resolution scheme
Colussi
Comb sort
Combination
Communicating Sequential Processes
Commutative
Compact DAWG
Compact trie
Comparison sort
Competitive analysis
Competitive ratio
Complement
Complete binary tree
Complete graph
Complete tree
Completely connected graph
Complexity
Complexity class
Computable
Concave function
Concurrent flow
Concurrent read, concurrent write
Concurrent read, exclusive write
Confluently persistent data structure
Conjunction
Connected components
Connected graph
Constant function
Continuous knapsack problem
Cook reduction
Cook's theorem
CORDIC
Counting sort
Covering
CRC
Critical path problem
CSP
CTL
Cube root
Cuckoo hashing
Cut
Cutting plane
Cutting stock problem
Cutting theorem
Cycle
D-adjacent
D-tree
DAG shortest paths
Data structure
DAWG
Decidable language
Decimation
Decision problem
Decomposable searching problem
Degree
Dense graph
Depoissonization
Depth
Depth-first search
Deque
Derangement
Descendant
Deterministic
Deterministic algorithm
Deterministic finite automata string search
Deterministic finite automaton
Deterministic finite tree automaton
Deterministic pushdown automaton
Deterministic tree automaton
Deutsch-Jozsa algorithm
DFS forest
Diagonalization
Diameter
Dichotomic search
Diet
Difference
Digital search tree
Digital tree
Digraph
Dijkstra's algorithm
Diminishing increment sort
Dining philosophers
Direct chaining
Discrete p-center
Disjoint set
Disjunction
Distribution sort
Distributional complexity
Distributive partitioning sort
Divide and conquer
Divide and marriage before conquest
Division method
Domain
Dominance tree sort
Don't care
Doomsday rule
Double hashing
Double left rotation
Double metaphone
Double right rotation
Double-ended priority queue
Doubly linked list
Dual
Dual linear program
Dutch national flag
Dynamic
Dynamic array
Dynamic hashing
Dynamic programming
Dynamization transformation
Easy split, hard merge
Edge coloring
Edge connectivity
Edge crossing
Edge-weighted graph
Edit distance
Edit operation
Edit script
Efficiency
Elastic-bucket trie
Element uniqueness
End-of-string
Enfilade
ERCW
EREW
Euclidean algorithm
Euclidean distance
Euclidean Steiner tree
Euclidean traveling salesman problem
Euler cycle
Eulerian graph
Exact string matching
EXCELL
Exclusive or
Exhaustive search
Existential state
Expandable hashing
Expander graph
Exponential
Extended binary tree
Extended Euclid's algorithm
Extended k-d tree
Extendible hashing
External chaining
External index
External memory algorithm
External memory data structure
External merge
External node
External quicksort
External radix sort
External sort
Extrapolation search
Extremal
Extreme point
Facility location
Factor
Factorial
Fast fourier transform
Fathoming
Feasible region
Feasible solution
Feedback edge set
Feedback vertex set
Ferguson-Forcade algorithm
Fibonacci heap
Fibonacci number
Fibonacci tree
Fibonaccian search
FIFO
Find
Finitary tree
Finite Fourier transform
Finite state automaton
Finite state machine minimization
Finite state transducer
First come, first served
First-in, first-out
Fisher-Yates shuffle
Fixed-grid method
Flash sort
Flow
Flow conservation
Flow function
Flow network
Floyd-Warshall algorithm
Ford-Fulkerson method
Forest
Forest editing problem
Formal language
Formal methods
Formal verification
Forward index
Fractional solution
Free edge
Free tree
Free vertex
Frequency count heuristic
Full array
Full binary tree
Full inverted index
Fully dynamic graph problem
Fully persistent data structure
Fully polynomial approximation scheme
Function
Galil-Giancarlo
Galil-Seiferas
Gamma function
GBD-tree
GCD
Geometric optimization problem
Global optimum
Gnome sort
Graph
Graph coloring
Graph concentration
Graph drawing
Graph isomorphism
Graph partition
Gray code
Greedy algorithm
Greedy heuristic
Grid drawing
Grid file
Grover's algorithm
Halting problem
Hamiltonian cycle
Hamiltonian path
Hamming distance
Hard split, easy merge
Hash function
Hash heap
Hash table
Hash table delete
Hausdorff distance
HB-tree
Head
Heap
Heap property
Heapify
Heapsort
Heaviest common subsequence
Height
Height-balanced binary search tree
Height-balanced tree
Heuristic
Hidden Markov model
Histogram sort
Homeomorphic
Horizontal visibility map
Horner's rule
Huffman coding
Hungarian algorithm
Hybrid algorithm
Hyperedge
Hypergraph
Ideal merge
Implication
Implies
In-degree
In-order traversal
In-place sort
Inclusion-exclusion principle
Inclusive or
Incompressible string
Incremental hashing
Independent set
Index file
Information theoretic bound
Insertion sort
Integer linear program
Integer multi-commodity flow
Integer polyhedron
Interactive proof system
Interior-based representation
Internal node
Internal sort
Interpolation-sequential search
Intersection
Interval tree
Intractable
Introsort
Inverted file index
Inverted index
Irreflexive
Isomorphic
Iteration
J sort
Jaro-Winkler
Johnson's algorithm
Johnson-Trotter
Jump list
K-ary heap
K-ary Huffman coding
K-ary tree
K-clustering
K-coloring
K-connected graph
K-d tree
K-d-B-tree
K-dimensional
K-dominant match
K-way merge
K-way merge sort
Karmarkar's algorithm
Karnaugh map
Karp reduction
Karp-Rabin
Key
KMP
KmpSkip Search
Knight's tour
Kolmogorov complexity
Kraft's inequality
Kripke structure
Kruskal's algorithm
Kth order Fibonacci numbers
L-reduction
Labeled graph
Las Vegas algorithm
Last-in, first-out
Lattice
Layered graph
LCM
LCS
Left rotation
Leftist tree
Lempel-Ziv-Welch
Level-order traversal
Lexicographical order
LIFO
Linear
Linear congruential generator
Linear hash
Linear order
Linear probing
Linear probing sort
Linear product
Linear program
Linear quadtree
Linear search
Link
Linked list
List
List contraction
Little-o notation
Load factor
Local alignment
Local optimum
Logarithmic
Longest common substring
Lotka's law
Lower bound
Lower triangular matrix
Lowest common ancestor
Lucky sort
Malhotra-Kumar-Maheshwari blocking flow
Manhattan distance
Many-one reduction
Markov chain
Marlena
Master theorem
Matched edge
Matched vertex
Matching
Matrix
Matrix-chain multiplication problem
Max-heap property
MAX-SNP
Maximal independent set
Maximal Shift
Maximally connected component
Maximum-flow problem
MBB
Mealy machine
Mean
Median
Meld
Memoization
Merge
Merge sort
Metaheuristic
Metaphone
Midrange
Miller-Rabin
Min-heap property
Minimal perfect hashing
Minimum cut
Minimum path cover
Minimum spanning tree
Minimum vertex cut
Mixed integer linear program
Mode
Model checking
Model of computation
Moderately exponential
MODIFIND
Monotone priority queue
Monotonically decreasing
Monotonically increasing
Monte Carlo algorithm
Moore machine
Morris-Pratt
Move
Move-to-front heuristic
Move-to-root heuristic
Multi suffix tree
Multi-commodity flow
Multigraph
Multikey Quicksort
Multilayer grid file
Multiplication method
Multiprefix
Multiprocessor model
Multiway decision
Multiway merge
Multiway search tree
Multiway tree
N queens
N-ary function
Nand
NC many-one reducibility
Nearest neighbor
Negation
Next state
NFA
NFTA
Node
Nonbalanced merge
Nonbalanced merge sort
Nondeterministic
Nondeterministic algorithm
Nondeterministic polynomial time
Nondeterministic tree automaton
Nondeterministic Turing machine
Nor
Not
Not So Naive
NP-complete
NP-complete language
NP-hard
Null tree
Nullary function
NYSIIS
OBDD
Objective function
Occurrence
Octree
Off-line algorithm
Offset
Omega
Omicron
On-line algorithm
One-based indexing
One-dimensional
Open addressing
Optimal
Optimal hashing
Optimal merge
Optimal mismatch
Optimal polygon triangulation problem
Optimal polyphase merge
Optimal polyphase merge sort
Optimal solution
Optimal triangulation problem
Optimal value
Optimization problem
Oracle set
Oracle tape
Oracle Turing machine
Order
Order preserving minimal perfect hashing
Ordered array
Ordered linked list
Ordered tree
Oriented tree
Orthogonal drawing
Orthogonal lists
Orthogonally convex rectilinear polygon
Oscillating merge sort
Out-degree
P
P-complete
P-tree
Packing
Padding argument
Pagoda
Pairing heap
PAM
Parallel computation thesis
Parallel prefix computation
Parallel random-access machine
Parametric searching
Parent
Partial function
Partial order
Partial recursive function
Partially decidable problem
Partially dynamic graph problem
Partially ordered set
Partially persistent data structure
Partition
Passive data structure
Path
Path cover
Path system problem
Patricia tree
Pattern
Pattern element
PCP
PDA
Pearson's hash
Perfect binary tree
Perfect matching
Perfect shuffle
Performance guarantee
Performance ratio
Permutation
Persistent data structure
Phonetic coding
Pile
Pipelined divide and conquer
Planar graph
Planar straight-line graph
Planarization
PLOP-hashing
Pointer jumping
Pointer machine
Poissonization
Polychotomy
Polyhedron
Polylogarithmic
Polynomial
Polynomial approximation scheme
Polynomial hierarchy
Polynomial time
Polynomial-time reduction
Polyphase merge
Polyphase merge sort
Polytope
Post machine
Postfix traversal
Postman's sort
Potential function
Predicate
Prefix
Prefix code
Prefix computation
Prefix sums
Prefix traversal
Prim-Jarnik algorithm
Primary clustering
Primitive recursive
Principle of optimality
Priority queue
Prisoner's dilemma
PRNG
Probabilistic algorithm
Probabilistic Turing machine
Probabilistically checkable proof
Probe sequence
Procedure
Process algebra
Proper
Proper coloring
Proper subset
Purely functional language
Pushdown transducer
Q sort
Qm sort
Quad trie
Quadratic probing
Quadtree
Quadtree complexity theorem
Quantum computation
Quick search
Quicksort
R-file
R-tree
Radix sort
Ragged matrix
Raita
Random access machine
Random number generator
Random sampling
Randomization
Randomized algorithm
Randomized complexity
Randomized polynomial time
Randomized rounding
Randomized search tree
Randomized-Select
Range
Range sort
Rank
Ratcliff/Obershelp pattern recognition
Reachable
Rebalance
Recognizer
Rectangular matrix
Rectilinear
Rectilinear Steiner tree
Recurrence equations
Recursion
Recursion termination
Recursion tree
Recursive
Recursive data structure
Recursively enumerable language
Red-black tree
Reduced basis
Reduced digraph
Reduced ordered binary decision diagram
Reduction
Reflexive
Regular decomposition
Relation
Relational structure
Relaxation
Relaxed balance
Repeated squaring
Rescalable
Restricted universe sort
Result cache
Reverse Colussi
Reverse Factor
Rice's method
Right rotation
Right-threaded tree
Root
Rotation
Rough graph
Run time
S-t cut
SAM
Saturated edge
SBB tree
Scapegoat tree
Search
Search tree
Search tree property
Secant search
Secondary clustering
Segment
Select
Select and partition
Select mode
Selection problem
Selection sort
Self-loop
Self-organizing heuristic
Self-organizing list
Self-organizing sequential search
Semidefinite programming
Separation theorem
Set
Set cover
Set packing
Shadow heap
Shadow merge
Shadow merge insert
Shannon-Fano coding
Shared memory
Shell sort
Shift-Or
Shor's algorithm
Shortest common supersequence
Shortest common superstring
Shortest path
Shuffle sort
Sibling
Sieve of Eratosthenes
Sift up
Signature
Simon's algorithm
Simple merge
Simple path
Simple uniform hashing
Simplex
Simulated annealing
Simulation theorem
Single program multiple data
Single-destination shortest-path problem
Single-source shortest-path problem
Singularity analysis
Sink
Skd-tree
Skew symmetry
Skip list
Skip search
Slope selection
Smith algorithm
Smith-Waterman algorithm
Smoothsort
Solvable
Sort
Sorted array
Sorted list
Soundex
Source
Space-constructible function
Spanning tree
Sparse graph
Sparse matrix
Sparsification
Sparsity
Spiral storage
Splay tree
Square matrix
Square root
St-digraph
Stable
Stack tree
Star-shaped polygon
Start state
State
State machine
Static
Steiner point
Steiner ratio
Steiner tree
Steiner vertex
Stirling's approximation
Stirling's formula
Stooge sort
Straight-line drawing
Strand sort
Strictly decreasing
Strictly increasing
Strictly lower triangular matrix
Strictly upper triangular matrix
String
String editing problem
String matching on ordered alphabets
String matching with mismatches
Strip packing
Strongly connected component
Strongly connected graph
Strongly NP-hard
Subadditive ergodic theorem
Subgraph
Subgraph isomorphism
Sublinear time algorithm
Subsequence
Subset
Subtree
Suffix
Suffix array
Suffix automaton
Suffix tree
Superimposed code
Superset
Supersink
Supersource
Symmetric
Symmetric set difference
Symmetry breaking
Tail
Tail recursion
Target
Temporal logic
Terminal
Ternary search tree
Text
Threaded binary tree
Threaded tree
Three-dimensional
Three-way merge sort
Time-constructible function
Time/space complexity
Top-down radix sort
Top-down tree automaton
Topological order
Topological sort
Topology tree
Total function
Totally undecidable problem
Tournament
Tournament sort
Towers of Hanoi
Tractable
Transition function
Transitive
Transitive closure
Transitive reduction
Traveling salesman
Treap
Tree
Tree automaton
Tree contraction
Tree editing problem
Tree traversal
Treesort (1)
Treesort (2)
Triangle inequality
Triconnected graph
Trie
Trinary function
Tripartition
Turbo Reverse Factor
Turbo-BM
Turing machine
Turing reduction
Turing transducer
Twin grid file
Two Way algorithm
Two-dimensional
Two-level grid file
Two-way merge sort
UB-tree
UKP
Unary function
Uncomputable function
Uncomputable problem
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
Van Emde-Boas priority queue
Vehicle routing problem
Venn diagram
Vertex
Vertex coloring
Vertex connectivity
Vertex cover
Vertical visibility map
Virtual hashing
Visibility map
Visible
Viterbi algorithm
Vitter's algorithm
Walk
Weak-heap
Weak-heap sort
Weighted, directed graph
Window
Witness
Work
Work-depth model
Work-efficient
Work-preserving
Worst case
Worst-case cost
Worst-case minimum access
Yule distribution
Zeller's congruence
Zhu-Takaoka
Zipf's law
Zipper
ZPP





Free Web Stats