(rev. 2017/03/20)

The Work Function Theorem for Divide and Conquer Algorithms

Notation:

ℤ is the set of integers.
ℕ is the set of positive integers.
ℝ is the set of real numbers.
+ is the set of positive real numbers.

Let T(n) be a work function for an algorithm A. In other words T is a function with domain ℕ and range ℝ+, and for each n∈ℕ, T(n) is the maximum number of "simple operations" required by algorithm A to solve a problem of size n or less. (The "or less" assures that T is non-decreasing.)

Theorem: If T(n) ≤ qT(n/b) + Cnh,

∀n∈ℕ, ∃q∈ℕ, ∃b∈ℕ, ∃C∈ℝ, ∃h∈ℝ, C≥0, h≥0, and T:ℕ→ℝ+ is non-decreasing, then ∃A∈ℝ, ∃B∈ℝ, A≥0, B≥0, such that

case 1: if q<bh, then T(n) ≤ Anlogb(q) + Bnh and T(n) is O(nh)
case 2: if q=bh, then T(n) ≤ Anhlogb(n) + Bnh and T(n) is O(nhlogb(n))
case 3: if q>bh, then T(n) ≤ Anlogb(q) + Bnh and T(n) is O(nlogb(q))


c.f. page 135 of Brassard, Gilles, and Paul Bratley. Fundamentals of Algorithmics. Englewood Cliffs: Prentice Hall, 1996.