Previous Section
 < Day Day Up > 
Next Section


Index

D

DAG-SHORTEST-PATHS, 592
d-ary heap, 143 pr.
in shortest-paths algorithms, 641 pr.
data-movement instructions, 22
data structure, 8, 197318, 431522
AA-trees, 301
augmentation of, 302318
AVL trees, 296 pr.
binary search trees, 253272
binomial heaps, 455475
bit vectors, 222 ex.
B-trees, 434454
deques, 204 ex.
dictionaries, 197
direct-address tables, 222223
for disjoint sets, 498522
for dynamic graphs, 433
dynamic sets, 197199
dynamic trees, 432
exponential search trees, 182, 433
Fibonacci heaps, 476497
fusion trees, 182, 433
hash tables, 224229
heaps, 127144
interval trees, 311317
k-neighbor trees, 301
linked lists, 204209
order-statistic trees, 302308
persistent, 294 pr., 432
potential of, 413
priority queues, 138142
queues, 200203
radix trees, 269 pr.
red-black trees, 273301
relaxed heaps, 497
rooted trees, 214217
scapegoat trees, 301
on secondary storage, 434437
skip lists, 301
splay trees, 301, 432
stacks, 200201
treaps, 296 pr.
2-3-4 heaps, 473 pr.
2-3-4 trees, 439, 453 pr.
2-3 trees, 300, 454
van Emde Boas, 433
weight-balanced trees, 301
deadline, 399
deallocation of objects, 210212
decision by an algorithm, 976
decision problem, 969, 972
and optimization problems, 969
decision tree, 166167
zero-one principle for, 712 ex.
DECREASE-KEY, 138, 455
decreasing a key
in binomial heaps, 470
in Fibonacci heaps, 489492
in 2-3-4 heaps, 473 pr.
DECREMENT, 409 ex.
degeneracy, 802
degree
of a binomial-tree root, 457
maximum, of a Fibonacci heap, 479, 488 ex., 493496
minimum, of a B-tree, 439
of a node, 1088
of a polynomial, 52, 822
of a vertex, 1081
degree-bound, 822
DELETE, 198, 455
DELETE-LARGER-HALF, 416 ex.
deletion
from binary search trees, 262263
from binomial heaps, 470471
from B-trees, 449452
from chained hash tables, 226
from direct-address tables, 222
from dynamic tables, 422
from Fibonacci heaps, 492, 496 pr.
from heaps, 142 ex.
from interval trees, 313
from linked lists, 206
from open-address hash tables, 238
from order-statistic trees, 307
from queues, 201
from red-black trees, 288294
from stacks, 200
from sweep-line statuses, 942
from 2-3-4 heaps, 473 pr.
demand paging, 22
DeMorgan's laws, 1072
dense graph, 527
-dense, 641 pr.
density of prime numbers, 887888
dependence
and indicator random variables, 96
linear, 731
see also independence
depth
average, of a node in a randomly built binary search tree, 270 pr.
of a comparison network, 707
of a node in a rooted tree, 1088
of quicksort recursion tree, 153 ex.
of SORTER, 720 ex.
of a sorting network, 708 ex.
of a stack, 162 pr.
depth-determination problem, 519 pr.
depth-first forest, 540
depth-first search, 540549
in finding articulation points, bridges, and biconnected components, 558 pr.
in finding strongly connected components, 552557
in topological sorting, 549552
depth-first tree, 540
deque, 204 ex.
DEQUEUE, 203
derivative of series, 1060
descendant, 1087
destination vertex, 581
det, see determinant
determinant, 732
and matrix multiplication, 759 ex.
deterministic, 99
DETERMINISTIC-SEARCH, 118 pr.
DFS, 541
DFS-VISIT, 541
DFT (Discrete Fourier Transform), 833
diagonal matrix, 726
LUP decomposition of, 754 ex.
diameter of a tree, 539 ex.
dictionary, 197
difference constraints, 601607
difference equation, see recurrence
difference of sets (-), 1071
symmetric, 696 pr.
differentiation of series, 1060
digital signature, 883
digraph, see directed graph
DIJKSTRA, 595
Dijkstra's algorithm, 595601
for all-pairs shortest paths, 620, 639
implemented with a Fibonacci heap, 599
implemented with a min-heap, 599
with integer edge weights, 600601 ex.
in Johnson's algorithm, 639
similarity to breadth-first search, 599, 600 ex.
similarity to Prim's algorithm, 570, 599
DIRECT-ADDRESS-DELETE, 222
direct addressing, 222223
DIRECT-ADDRESS-INSERT, 222
DIRECT-ADDRESS-SEARCH, 222
direct-address table, 222223
directed acyclic graph (dag), 1083
and back edges, 550
and component graphs, 554
and hamiltonian-path problem, 983 ex.
single-source shortest-paths algorithm for, 592595
topological sort of, 549552
directed graph, 1080
all-pairs shortest paths in, 620642
constraint graph, 603
Euler tour of, 559 pr., 966
hamiltonian cycle of, 967
and longest paths, 966
path cover of, 692 pr.
PERT chart, 594, 594 ex.
semiconnected, 557 ex.
shortest path in, 580
single-source shortest paths in, 580619
singly connected, 549 ex.
square of, 530 ex.
transitive closure of, 632
transpose of, 530 ex.
directed segment, 934935
directed version of an undirected graph, 1082
DIRECTION, 937
DISCHARGE, 683
discharge of an overflowing vertex, 683
discovered vertex, 531, 540
discovery time, in depth-first search, 541
Discrete Fourier Transform, 833
discrete logarithm, 877
discrete logarithm theorem, 877
discrete probability distribution, 1101
discrete random variable, 11061111
disjoint-set data structure, 498522
analysis of, 512517, 518 ex.
in depth determination, 519 pr.
disjoint-set-forest implementation of, 505509
in Kruskal's algorithm, 569
linear-time special case of, 522
linked-list implementation of, 501505
in off-line least common ancestors, 521 pr.
in off-line minimum, 518 pr.
in task scheduling, 404 pr.
disjoint-set forest, 505509
analysis of, 512517, 518 ex.
rank properties of, 511512, 518 ex.
disjoint sets, 1073
disjunctive normal form, 1000
disk, 947 ex.
DISK-READ, 437
DISK-WRITE, 437
distance
edit, 364 pr.
euclidean, 957
Lm, 962 ex.
Manhattan, 194 pr., 962 ex.
of a shortest path, 534
distribution
binomial, 11131116
geometric, 1112
of inputs, 93, 99
of prime numbers, 888
probability, 11001102
sparse-hulled, 964 pr.
distributive laws for sets, 1072
divergent series, 1059
divide-and-conquer method, 2833
analysis of, 3233
for binary search, 37 ex.
for conversion of binary to decimal, 856 ex.
for Fast Fourier Transform, 834836
for finding the closest pair of points, 958961
for finding the convex hull, 948
for matrix inversion, 756758
for merge sort, 2836
for multiplication, 844 pr.
for quicksort, 145164
and recursion trees, 67
relation to dynamic programming, 323
for selection, 185193
solving recurrences for, 6290
for Strassen's algorithm, 735742
divide instruction, 22
divides relation (|), 850
division method, 230231
division theorem, 851
divisor, 850851
common, 852
DNA, 350, 364 pr.
DNF (disjunctive normal form), 1000
does-not-divide relation (), 850
domain, 1077
dominates relation, 962 pr.
double hashing, 240241, 244 ex.
doubly linked list, 204
see also linked list
d-regular graph, 669 ex.
duality, 804811
weak, 805
dual linear program, 805
dynamic graph, 499 n.
data structures for, 433
minimum-spanning-tree algorithm for, 574 ex.
transitive closure of, 641 pr.
dynamic order statistics, 302308
dynamic-programming method, 323369
for activity selection, 378 ex.
for all-pairs shortest paths, 622632
for assembly-line scheduling, 324331
for bitonic euclidean traveling-salesman problem, 364 pr.
compared to greedy algorithms, 341, 350 ex., 373375, 380, 382383
for edit distance, 364 pr.
elements of, 339350
for Floyd-Warshall algorithm, 629632
for longest common subsequence, 350356
for matrix-chain multiplication, 331339
and memoization, 347349
for optimal binary search trees, 356363
optimal substructure in, 339344
overlapping subproblems in, 344346
for printing neatly, 364 pr.
reconstructing an optimal solution in, 346347
for scheduling, 369 pr.
for transitive closure, 632635
for Viterbi algorithm, 367 pr.
for 0-1 knapsack problem, 384 ex.
dynamic set, 197199
see also data structure
dynamic table, 416425
analyzed by accounting method, 419
analyzed by aggregate analysis, 418419
analyzed by potential method, 419420, 422424
load factor of, 417
dynamic tree, 432


Previous Section
 < Day Day Up > 
Next Section