Handouts:

9/11/08: Convex hulls in 2D for n points (continued)

See the powerpoint slides.

  • Summary of what we know so far: Graham scan, lower bound, divide-and-conquer, etc.
  • Remarks about dynamic convex hulls in 2D: pure insertion is what the incremental construction does, at cost of O(log n) per insertion.
    Note that it is much harder to handle deletions; in the "fully dynamic" case we want to maintain the convex hull as points are added and deleted. The problem remains partially open, as we do not yet have optimal algorithms that use worst-case O(log n) time per insertion/deletion/query for all cases. Current bounds are very close to optimal, though; see the recent work of T. Chan, FOCS'99 and Brodal/Jacob, FOCS'02.
  • QuickHull: Described briefly. Worst-case is O(n^2); for uniformly distributed points in a square, though, it is O(n). It works well in practice and generalizes to higher dimensions.
  • On-line incremental algorithm for computing CH of points in the plane at O(log n) time per insertion (using O(log n) binary search to decide if a new point is inside the current hull or not, and then O(log n) binary search to find the two points of tangency, if the new point is outside the current hull). See Section 3.7 of O'Rourke.
  • The randomized incremental CH algorithm for points: the expected time is O(n log n), shown using "Backwards Analysis" technique of Paul Chew and Raimund Seidel. I give the (simple) detailed analysis.