Master Theorem Assessment Flashcards
Analyze time complexity:
T(n) = 2T(n/2) + n
Merge Sort
a = 2
, b = 2
-> log_b(a) = log2(2) = 1
f(n) = n = n^1 * log^0(n)
-> d = 1
, k = 0
Since d = log_b(a)
-> T(n) = Θ(n^log2(2) * log^(0+1)(n)) = Θ(n * log(n))
T(n) = Θ(n * log(n))
Analyze time complexity:
T(n) = T(n/2) + j
Binary Search
a = 1
, b = 2
-> log_b(a) = log2(1) = 0
f(n) = j = n^0 * log^0(n)
-> d = 0
, k = 0
Since d = log_b(a)
-> T(n) = Θ(n^log2(1) * log^(0+1)(n)) = Θ(log(n))
T(n) = Θ(log(n))
Analyze time complexity:
T(n) = 2T(n/2) + j
Binary Tree Traversal
a = 2
, b = 2
-> log_b(a) = log2(2) = 1
f(n) = j = n^0
-> d = 0
Since d < log_b(a)
-> T(n) = Θ(n^log2(2)) = Θ(n)
T(n) = Θ(n)
Analyze time complexity:
T(n) = 2T(n/2) + n^2
a = 2
, b = 2
-> log_b(a) = log2(2) = 1
f(n) = n^2
-> d = 2
Since d > log_b(a)
-> T(n) = Θ(f(n)) = Θ(n^2)
T(n) = Θ(n^2)
Analyze time complexity:
T(n) = 4T(n/2) + n^2
a = 4
, b = 2
-> log_b(a) = log2(4) = 2
f(n) = n^2 * log^0(n)
-> d = 2
, k = 0
Since d = log_b(a)
-> T(n) = Θ(n^log2(4) * log^(0+1)(n)) = Θ(n^2 * log(n))
T(n) = Θ(n^2 * log(n))
Analyze time complexity:
T(n) = T(n/2) + 2n
a = 1
, b = 2
-> log_b(a) = log2(1) = 0
f(n) = n^1
-> d = 1
Since d > log_b(a)
-> T(n) = Θ(f(n)) = Θ(n)
T(n) = Θ(n)
Analyze time complexity:
T(n) = 16T(n/4) + n
a = 16
, b = 4
-> log_b(a) = log4(16) = 2
f(n) = n^1
-> d = 1
Since d < log_b(a)
-> T(n) = Θ(n^log4(16)) = Θ(n^2)
T(n) = Θ(n^2)
Analyze time complexity:
T(n) = 2T(n/2) + n*log(n)
a = 2
, b = 2
-> log_b(a) = log2(2) = 1
f(n) = n^1 * log^1(n)
-> d = 1
, k = 1
Since d = log_b(a)
-> T(n) = Θ(n^log2(2) * log^(1+1)(n)) = Θ(n * log^2(n))
T(n) = Θ(n * log^2(n))
Analyze time complexity:
T(n) = 2T(n/4) + n^0.5
a = 2
, b = 4
-> log_b(a) = log4(2) = 0.5
f(n) = n^0.5 * log^0(n)
-> d = 1
, k = 0
Since d = log_b(a)
-> T(n) = Θ(n^log4(2) * log^(0+1)(n)) = Θ(n^0.5 * log(n))
T(n) = Θ(n^0.5 * log(n))
Analyze time complexity:
T(n) = 3T(n/3) + √n
a = 3
, b = 3
-> log_b(a) = log3(3) = 1
f(n) = √n * log^0(n)
-> d = 1/2
, k = 0
Since d < log_b(a)
-> T(n) = Θ(n^log3(3)) = Θ(n)
T(n) = Θ(n)
Analyze time complexity:
T(n) = 3T(n/4) + n * log(n)
a = 3
, b = 4
-> log_b(a) = log4(3)
f(n) = n^1
-> d = 1 = log4(4)
Since d > log_b(a)
-> T(n) = Θ(f(n)) = Θ(n * log(n))
T(n) = Θ(n * log(n))