Computational geometry : an introduction through randomized algorithms

I. BASICS. 1. Quick-sort and Search. Quick-sort. Another view of quick-sort. Randomized binary trees. Skip lists. 2. What Is Computational Geometry? Range queries. Arrangements. Trapezoidal decompositions. Convex polytopes. Voronoi diagrams. Hidden surface removal. Numerical precision and degeneracies. Early deterministic algorithms. Deterministic vs. randomized algorithms. The model of randomness. 3. Incremental Algorithms. Trapezoidal decompositions. Convex polytopes. Voronoi diagrams. Configuration spaces. Tail estimates. 4. Dynamic Algorithms. trapezoidal decompositions. Voronoi diagrams. History and configuration spaces. Rebuilding history. Deletions in history. Dynamic shuffling. 5. Random Sampling. Configuration spaces with bounded valence. Top-down sampling. Bottom-up sampling. Dynamic sampling. Average conflict size. More dynamic algorithms. Range spaces and E-nets. Comparisons. II. APPLICATIONS. 6. Arrangements of Hyperplanes. Incremental construction. Zone Theorem. Canonical triangulations. Point location and ray shooting. Point location and range queries. 7. Convex Polytopes. Linear Programming. The number of faces. Incremental construction. The expected structural and conflict change. Dynamic maintenance. Voronoi diagrams. Search problems. Levels and Voronoi diagrams of order k. 8. Range Search. Orthogonal intersection search. Nonintersecting segments in the plane. Dynamic point location. Simplex range search. Half-space range queries. Decomposable search problems. Parametric search. 9. Computer Graphics. Hidden surface removal. Binary Space Partitions. Moving viewpoint. 10. How Crucial Is Randomness? Pseudo-random sources. Derandomization. Appendix: Tail Estimates. Chernoff's technique. Chebychev's technique. Bibliography. Index.