Preface |
|
xiii | |
|
|
|
|
3 | (15) |
|
|
3 | (6) |
|
The topic of this book: Spanners |
|
|
9 | (2) |
|
Using spanners to approximate minimum spanning trees |
|
|
11 | (1) |
|
A simple greedy spanner algorithm |
|
|
12 | (6) |
|
|
13 | (2) |
|
|
15 | (3) |
|
|
18 | (23) |
|
Algorithms and data structures |
|
|
18 | (1) |
|
Some notions from graph theory |
|
|
19 | (2) |
|
|
21 | (9) |
|
Coloring graphs of bounded degree |
|
|
30 | (1) |
|
Dijkstra's shortest paths algorithm |
|
|
31 | (4) |
|
|
35 | (6) |
|
|
38 | (1) |
|
|
39 | (2) |
|
The Algebraic Computation-Tree Model |
|
|
41 | (22) |
|
Algebraic computation-trees |
|
|
41 | (2) |
|
|
43 | (1) |
|
Lower bounds for algebraic decision tree algorithms |
|
|
43 | (8) |
|
A lower bound for constructing spanners |
|
|
51 | (12) |
|
|
57 | (1) |
|
|
58 | (5) |
|
II Spanners Based on Simplicial Cones |
|
|
|
Spanners Based on the Θ-Graph |
|
|
63 | (29) |
|
|
63 | (10) |
|
A spanner of bounded degree |
|
|
73 | (5) |
|
Generalizing skip lists: A spanner with logarithmic spanner diameter |
|
|
78 | (14) |
|
|
89 | (1) |
|
|
90 | (2) |
|
Cones in Higher Dimensional Space and Θ-Graphs |
|
|
92 | (16) |
|
Simplicial cones and frames |
|
|
92 | (1) |
|
|
93 | (5) |
|
|
98 | (1) |
|
|
99 | (4) |
|
Higher-dimensional Θ-graphs |
|
|
103 | (5) |
|
|
106 | (1) |
|
|
106 | (2) |
|
Geometric Analysis: The Gap Property |
|
|
108 | (12) |
|
|
109 | (2) |
|
|
111 | (1) |
|
An upper bound for points in the unit cube |
|
|
112 | (2) |
|
|
114 | (2) |
|
Worst-case analysis of the 2-Opt algorithm for the traveling salesperson problem |
|
|
116 | (4) |
|
|
118 | (1) |
|
|
118 | (2) |
|
|
120 | (19) |
|
A sufficient condition for ``spannerhood'' |
|
|
120 | (1) |
|
|
121 | (3) |
|
Toward an efficient implementation |
|
|
124 | (4) |
|
An efficient implementation of the gap-greedy algorithm |
|
|
128 | (9) |
|
Generalization to higher dimensions |
|
|
137 | (2) |
|
|
137 | (1) |
|
|
138 | (1) |
|
Enumerating Distances Using Spanners of Bounded Degree |
|
|
139 | (12) |
|
Approximate distance enumeration |
|
|
139 | (3) |
|
Exact distance enumeration |
|
|
142 | (2) |
|
Using the gap-greedy spanner |
|
|
144 | (7) |
|
|
145 | (1) |
|
|
146 | (5) |
|
III The Well-Separated Pair Decomposition and Its Applications |
|
|
|
The Well-Separated Pair Decomposition |
|
|
151 | (27) |
|
Definition of the well-separated pair decomposition |
|
|
151 | (3) |
|
Spanners based on the well-separated pair decomposition |
|
|
154 | (1) |
|
|
155 | (7) |
|
Computing the well-separated pair decomposition |
|
|
162 | (6) |
|
Finding the pair that separates two points |
|
|
168 | (4) |
|
Extension to other metrics |
|
|
172 | (6) |
|
|
174 | (1) |
|
|
175 | (3) |
|
Applications of Well-Separated Pairs |
|
|
178 | (18) |
|
Spanners of bounded degree |
|
|
178 | (6) |
|
A spanner with logarithmic spanner diameter |
|
|
184 | (2) |
|
Applications to other proximity problems |
|
|
186 | (10) |
|
|
194 | (1) |
|
|
195 | (1) |
|
|
196 | (23) |
|
|
196 | (1) |
|
|
197 | (1) |
|
A packing result for dumbbells |
|
|
198 | (4) |
|
Establishing the length-grouping property |
|
|
202 | (3) |
|
Establishing the empty-region property |
|
|
205 | (2) |
|
|
207 | (2) |
|
Constructing the dumbbell trees |
|
|
209 | (1) |
|
The dumbbell trees constitute a spanner |
|
|
210 | (5) |
|
|
215 | (4) |
|
|
217 | (1) |
|
|
217 | (2) |
|
Shortcutting Trees and Spanners with Low Spanner Diameter |
|
|
219 | (23) |
|
|
219 | (19) |
|
Spanners with low spanner diameter |
|
|
238 | (4) |
|
|
240 | (1) |
|
|
240 | (2) |
|
Approximating the Stretch Factor of Euclidean Graphs |
|
|
242 | (15) |
|
The first approximation algorithm |
|
|
243 | (5) |
|
A faster approximation algorithm |
|
|
248 | (9) |
|
|
253 | (1) |
|
|
253 | (4) |
|
IV The Path-Greedy Algorithm and Its Analysis |
|
|
|
Geometric Analysis: The Leapfrog Property |
|
|
257 | (61) |
|
Introduction and motivation |
|
|
257 | (2) |
|
Relation to the gap property |
|
|
259 | (1) |
|
A sufficient condition for the leapfrog property |
|
|
260 | (2) |
|
|
262 | (2) |
|
|
264 | (9) |
|
Bounding the weight of non-lateral edges |
|
|
273 | (24) |
|
Bounding the weight of lateral edges |
|
|
297 | (9) |
|
Completing the proof of the Leapfrog Theorem |
|
|
306 | (1) |
|
A variant of the leapfrog property |
|
|
307 | (2) |
|
|
309 | (9) |
|
|
315 | (2) |
|
|
317 | (1) |
|
The Path-Greedy Algorithm |
|
|
318 | (67) |
|
Analysis of the simple greedy algorithm PathGreedy |
|
|
319 | (8) |
|
An efficient implementation of algorithm PathGreedy |
|
|
327 | (26) |
|
A faster algorithm that uses indirect addressing |
|
|
353 | (32) |
|
|
381 | (1) |
|
|
382 | (3) |
|
V Further Results on Spanners and Applications |
|
|
|
The Distance Range Hierarchy |
|
|
385 | (30) |
|
The basic hierarchical decomposition |
|
|
386 | (14) |
|
The distance range hierarchy for point sets |
|
|
400 | (1) |
|
An application: Pruning spanners |
|
|
401 | (7) |
|
The distance range hierarchy for spanners |
|
|
408 | (7) |
|
|
413 | (1) |
|
|
413 | (2) |
|
Approximating Shortest Paths in Spanners |
|
|
415 | (12) |
|
|
416 | (1) |
|
Approximate shortest path queries for points that are separated |
|
|
416 | (6) |
|
Arbitrary approximate shortest path queries |
|
|
422 | (3) |
|
An application: Approximating the stretch factor of Euclidean graphs |
|
|
425 | (2) |
|
|
426 | (1) |
|
|
426 | (1) |
|
|
427 | (16) |
|
Definition of a fault-tolerant spanner |
|
|
427 | (2) |
|
Vertex fault-tolerance is equivalent to fault-tolerance |
|
|
429 | (1) |
|
|
430 | (4) |
|
Fault-tolerant spanners based on well-separated pairs |
|
|
434 | (3) |
|
Fault-tolerant spanners with O(kn) edges |
|
|
437 | (1) |
|
Fault-tolerant spanners of low degree and low weight |
|
|
437 | (6) |
|
|
441 | (1) |
|
|
441 | (2) |
|
Designing Approximation Algorithms with Spanners |
|
|
443 | (25) |
|
The generic polynomial-time approximation scheme |
|
|
443 | (1) |
|
|
444 | (2) |
|
The sparse graph computation step |
|
|
446 | (2) |
|
The quadtree construction step |
|
|
448 | (2) |
|
A digression: Constructing a light graph of low weight |
|
|
450 | (4) |
|
|
454 | (10) |
|
The dynamic programming step |
|
|
464 | (4) |
|
|
466 | (1) |
|
|
467 | (1) |
|
Further Results and Open Problems |
|
|
468 | (15) |
|
|
468 | (1) |
|
|
469 | (1) |
|
|
470 | (2) |
|
|
472 | (1) |
|
|
473 | (1) |
|
|
474 | (1) |
|
Decreasing the stretch factor |
|
|
474 | (1) |
|
|
474 | (2) |
|
|
476 | (1) |
|
External memory algorithms |
|
|
477 | (1) |
|
|
477 | (1) |
|
|
478 | (1) |
|
|
479 | (1) |
|
Open problems from previous chapters |
|
|
480 | (3) |
|
|
481 | (2) |
Bibliography |
|
483 | (12) |
Algorithms Index |
|
495 | (1) |
Index |
|
496 | |