I. BASICS.
1. Introduction. Framework. Our Use of the C++ Language. Robustness.
2. Analysis of Algorithms. Models of Computation. Complexity Measures. Asymptotic Analysis. Analysis of Recursive Algorithms. Problem Complexity. Chapter Notes. Exercises.
3. Data Structures. What are Data Structures? Linked Lists. Lists. Stacks. Binary Search Trees. Braided Binary Search Trees. Randomized Search Trees. Chapter Notes. Exercises.
4. Geometric Data Structures. Vectors. Points. Polygons. Edges. Geometric Objects in Space. Finding the Intersection of a Line and a Triangle. Chapter Notes. Exercises.
II. APPLICATIONS.
5. Incremental Insertion. Insertion Sort. Finding Star-Shaped Polygons. Finding Convex Hulls: Insertion Hull. Point Enclosure: The Ray-Shooting Method. Point Enclosure: The Signed Angle Method. Line Clipping: The Cyrus-Beck Algorithm. Polygon Clipping: The Sutherland-Hodgman Algorithm. Triangulating Monotone Polygons. Chapter Notes. Exercises.
6. Incremental Selection. Selection Sort. Finding Convex Hulls: Gift-Wrapping. Finding Complex Hulls: Graham Scan. Removing Hidden Surfaces: The Depth-Sort Algorithm. Intersection of Convex Polygons. Finding Delaunay Triangulations. Chapter Notes. Exercises.
7. Plane-Sweep Algorithms. Finding the Intersections of Line Segments. Finding Convex Hulls: Insertion Hull Revisited. Contour of the Union of Rectangles. Decomposing Polygons into Monotone Pieces. Chapter Notes. Exercises.
8. Divide-and-Conquer Algorithms. Merge Sort. Computing the Intersection of Half-Planes. Finding the Kernel of a Polygon. Finding Voronoi Regions. Merge Hull. Closest Points. Polygon Triangulation. Chapter Notes. Exercises.
9. Spatial Subdivision Methods. The Range Searching Problem. The Grid Method. Quadtrees. Two-Dimensional Search Trees. Removing Hidden Surfaces: Binary Space Partition Trees. Chapter Notes. Exercises.
Bibliography. Index.