(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.