Refining the Analysis of Divide and Conquer: How and When [article]

Jeremy Barbay, Carlos Ochoa, Pablo Perez-Lantero
2015 arXiv   pre-print
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(n_1, ..., n_k))) ⊆ O(n(1+k)) ⊆ O(nn) in the worst case over all instances of size n composed of k "easy" fragments of respective sizes n_1, ..., n_k summing to n,
more » ... e the entropy function H(n_1, ..., n_k) = ∑_i=1^kn_i/nn/n_i 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.
arXiv:1505.02820v3 fatcat:c6j6os6abjbxldb6o53iu6sxme