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.