Refining the Analysis of Divide and Conquer: How and When
Abstract
Divide-and-conquer is a central paradigm for the design of algorithms, through which some fundamental computational problems, such as sorting arrays and computing convex hulls, are solved in optimal time within (nn) in the worst case over instances of size n. A finer analysis of those problems yields complexities within O(n(1 + H(n1, …, nk))) ⊂eq O(n(1+k)) ⊂eq O(nn) in the worst case over all instances of size n composed of k "easy" fragments of respective sizes n1, …, nk summing to n, where the entropy function H(n1, …, nk) = Σi=1kninnni measures the "difficulty" of the instance. We consider whether such refined analysis can be applied to other algorithms based on divide-and-conquer, such as polynomial multiplication, input-order adaptive computation of convex hulls in 2D and 3D, and computation of Delaunay triangulations.
Turn this paper into a lesson
ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.