in shortest-paths algorithms,
641 pr.
data-movement instructions,
22
direct-address tables,
222–223
exponential search trees,
182,
433
order-statistic trees,
302–308
weight-balanced trees,
301
decision by an algorithm,
976
and optimization problems,
969
degree
of a binomial-tree root,
457
minimum, of a B-tree,
439
deletion
from binary search trees,
262–263
from chained hash tables,
226
from direct-address tables,
222
from Fibonacci heaps,
492,
496 pr.
from open-address hash tables,
238
from order-statistic trees,
307
from sweep-line statuses,
942
from 2-3-4 heaps,
473 pr.
density of prime numbers,
887–888
dependence
and indicator random variables,
96
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 a sorting network,
708 ex.
depth-determination problem,
519 pr.
in finding articulation points, bridges, and biconnected components,
558 pr.
in finding strongly connected components,
552–557
in topological sorting,
549–552
and matrix multiplication,
759 ex.
DFT (Discrete Fourier Transform),
833
differentiation of series,
1060
for all-pairs shortest paths,
620,
639
implemented with a Fibonacci heap,
599
implemented with a min-heap,
599
with integer edge weights,
600–601 ex.
in Johnson's algorithm,
639
similarity to breadth-first search,
599,
600 ex.
similarity to Prim's algorithm,
570,
599
directed acyclic graph (dag),
1083
and component graphs,
554
and hamiltonian-path problem,
983 ex.
single-source shortest-paths algorithm for,
592–595
all-pairs shortest paths in,
620–642
hamiltonian cycle of,
967
single-source shortest paths in,
580–619
singly connected,
549 ex.
transitive closure of,
632
directed version of an undirected graph,
1082
discharge of an overflowing vertex,
683
discovery time, in depth-first search,
541
Discrete Fourier Transform,
833
discrete logarithm theorem,
877
discrete probability distribution,
1101
disjoint-set data structure,
498–522
in depth determination,
519 pr.
disjoint-set-forest implementation of,
505–509
in Kruskal's algorithm,
569
linear-time special case of,
522
linked-list implementation of,
501–505
in off-line least common ancestors,
521 pr.
in off-line minimum,
518 pr.
in task scheduling,
404 pr.
distributive laws for sets,
1072
divide-and-conquer method,
28–33
for binary search,
37 ex.
for conversion of binary to decimal,
856 ex.
for Fast Fourier Transform,
834–836
for finding the closest pair of points,
958–961
for finding the convex hull,
948
for multiplication,
844 pr.
relation to dynamic programming,
323
solving recurrences for,
62–90
for Strassen's algorithm,
735–742
DNF (disjunctive normal form),
1000
does-not-divide relation (
∤),
850
minimum-spanning-tree algorithm for,
574 ex.
transitive closure of,
641 pr.
dynamic order statistics,
302–308
dynamic-programming method,
323–369
for activity selection, 378 ex.
for all-pairs shortest paths,
622–632
for assembly-line scheduling,
324–331
for bitonic euclidean traveling-salesman problem,
364 pr.
for edit distance,
364 pr.
for Floyd-Warshall algorithm,
629–632
for longest common subsequence,
350–356
for matrix-chain multiplication,
331–339
for optimal binary search trees,
356–363
optimal substructure in,
339–344
overlapping subproblems in,
344–346
for printing neatly,
364 pr.
reconstructing an optimal solution in,
346–347
for transitive closure,
632–635
for Viterbi algorithm,
367 pr.
for 0-1 knapsack problem,
384 ex.
analyzed by accounting method,
419
analyzed by aggregate analysis,
418–419