Handouts:
3/12/08: Convex hulls in 2D: last remarks.
Convex polytopes and convex hulls in 3 or more dimensions
Review Melkman's convex hull algorithm: It computes in linear time (O(n)) the
convex hull of a polygonal chain that is SIMPLE (not
self-intersecting). (Equivalently, it computes the convex hull of a
set of points that are given in an order such that linking the points
in that order yields a noncrossing polygonal chain.) The main point
is that SIMPLICITY HELPS: instead of worst-case O(n log n) or O(n log
h), we can get O(n) if we know the points are the vertices of a simple
chain.
I go over detailed examples of applying Melkman's algorithm,
and a sketch of the proof of correctness and the running time.
I remark about a relatively new result (my own work, joint with
Levcopoulos and Lingas) that shows that a convex hull
of n points can be found in time O(n log k), where k is the
number of subchains in a partition of the input chain
into the fewest simple subchains. (Thus, if the input points
specify a simple chain, k=1, and it takes time O(n); if
the input chain arbitrarily intersects intself, k is about n,
and the algorithm takes time O(n log n).)
I started to introduce convex hulls in 3 or more dimensions,
stating that the time it takes to compute a hull in d dimensions
for d>=4 is O(n^{floor(d/2)}), which is the worst-case complexity
of the output size (ie., the hull may have that many faces).
Combinatorics: planar graphs, Euler's formula, linearity of
the number of edges and faces (as a function of n, the number of
vertices).