pairwise relatively prime, 
854
 
 
Pan's method for matrix multiplication, 
741 ex.
 
 
parallel-machine-scheduling problem, 
1051 pr.
 
 
parenthesis structure of depth-first search, 
543
 
 
parenthesization of a matrix-chain product, 
331
 
 
partitioning algorithm, 
146-148
 
around median of 3 elements, 
159 ex.
 
 
pattern in string matching, 
906
 
 
PERMUTE-WITHOUT-IDENTITY, 
104 ex.
 
 
persistent data structure, 
294 pr., 
432
 
 
point-value representation, 
825
 
 
polylogarithmically bounded, 
54
 
 
asymptotic behavior of, 
57 pr.
 
coefficient representation of, 
824
 
interpolation by, 
825, 
830 ex.
 
point-value representation of, 
825
 
 
polynomial-time acceptance, 
976
 
 
polynomial-time algorithm, 
850, 
966
 
 
polynomial-time approximation scheme, 
1023
 
 
polynomial-time computability, 
974
 
 
polynomial-time decision, 
976
 
 
polynomial-time reducibility (
≤P), 
984, 
994 ex.
 
 
polynomial-time solvability, 
973
 
 
polynomial-time verification, 
979-983
 
 
positive-definite matrix, 
732
 
 
post-office location problem, 
194 pr.
 
 
for disjoint-set data structures, 
512-517
 
for the generic push-relabel algorithm, 
678-679
 
for the Knuth-Morris-Pratt algorithm, 
926-927
 
for restructuring red-black trees, 
428 pr.
 
 
potential of a data structure, 
413
 
 
Pr {} (probability distribution), 
1100
 
 
predecessor
in binary search trees, 
258-259
 
in breadth-first trees, 
532
 
in order-statistic trees, 
310 ex.
 
in shortest-paths trees, 
584
 
 
predecessor subgraph
in all-pairs shortest paths, 
621
 
in breadth-first search, 
537
 
in depth-first search, 
540
 
in single-source shortest paths, 
584
 
 
prefix-function iteration lemma, 
927
 
 
with an adjacency matrix, 
573 ex.
 
in approximation algorithm for traveling-salesman problem, 
1028
 
implemented with a Fibonacci heap, 
573
 
implemented with a min-heap, 
573
 
with integer edge weights, 
574 ex.
 
similarity to Dijkstra's algorithm, 
570, 
599
 
for sparse graphs, 
575 pr.
 
 
prime distribution function, 
888
 
 
principle of inclusion and exclusion, 
1074 ex.
 
 
PRINT-ALL-PAIRS-SHORTEST-PATH, 
621
 
 
PRINT-INTERSECTING-SEGMENTS, 
946 ex.
 
 
in constructing Huffman codes, 
387
 
in Dijkstra's algorithm, 
598
 
heap implementation of, 
138-142
 
min-priority queue, 
138, 
141 ex.
 
with monotone extractions, 
144
 
Fibonacci heap
 
of approximation algorithm for MAX-3-CNF satisfiability, 
1040
 
of average-case lower bound for sorting, 
178 pr.
 
of average node depth in a randomly built binary search tree, 
270 pr.
 
of collisions, 
228 ex., 
249 ex.
 
of convex hull over a sparse-hulled
of file comparison, 
915 ex.
 
of hashing with chaining, 
226-228
 
of the height of a randomly built binary search tree, 
265-268
 
of the hiring problem, 
97-98
 
of insertion into a binary search tree with equal keys, 
268 pr.
 
of longest-probe bound for hashing, 
249 pr.
 
of the Miller-Rabin primality test, 
893-896
 
of Pollard's rho heuristic, 
898-901
 
of probabilistic counting, 
118 pr.
 
of the Rabin-Karp algorithm, 
915
 
and randomized algorithms, 
99-101
 
of randomized selection, 
186-189
 
of searching a compact list, 
218 pr.
 
of slot-size bound for chaining, 
250 pr.
 
of sorting points by distance from origin, 
177 ex.
 
 
probability density function, 
1107
 
 
probability distribution, 
1100
 
 
probability distribution function, 
177 ex.
 
 
pruning a Fibonacci heap, 
497 pr.
 
 
pseudorandom-number generator, 
94
 
 
push onto a run-time stack, 
162 pr.
 
 
push operation (in push-relabel algorithms), 
671-672
 
 
push-relabel algorithm, 
669-692
 
by discharging an overflowing vertex of maximum height, 
691 ex.
 
to find a maximum bipartite matching, 
680 ex.
 
gap heuristic for, 
691 ex.
 
with a queue of overflowing vertices, 
691 ex.
 
relabel-to-front algorithm, 
681-692