patternMinor
Solving recurrence relation with square root
Viewed 0 times
solvingwithrecurrencerootsquarerelation
Problem
I am trying to solve the following recurrence relation :-
$T(n) = T(\sqrt{n}) + n$ using masters theorem.
We can substitute $n = 2 ^ m$
$T(2^m) = T(2 ^ {\frac{m}{2}}) + 2^m$
Now we can rewrite it as
$S(m) = S(\frac{m}{2}) + m$
The big $O$-notation for $S(m)$ will be $O(m)$.
Hence, $T(n) = T(2^m) = S(m) = O(m)$.
So we can say that $T(n) =O(\log n)$ as $n=2^m$.
But the answer is $O(\log\log n)$ . What is wrong with my approach ?
$T(n) = T(\sqrt{n}) + n$ using masters theorem.
We can substitute $n = 2 ^ m$
$T(2^m) = T(2 ^ {\frac{m}{2}}) + 2^m$
Now we can rewrite it as
$S(m) = S(\frac{m}{2}) + m$
The big $O$-notation for $S(m)$ will be $O(m)$.
Hence, $T(n) = T(2^m) = S(m) = O(m)$.
So we can say that $T(n) =O(\log n)$ as $n=2^m$.
But the answer is $O(\log\log n)$ . What is wrong with my approach ?
Solution
The answer cannot be $O(\log\log n)$. Already without applying any recursion we have the inequality $T(n) = T(\sqrt{n}) + n \ge n$. So the complexity cannot be smaller than $O(n)$.
But now to your computation. Setting $n=2^m$, we obtain as you did
$$ T(2^m) = T(\sqrt{2 ^ m}) + 2^m=T(2 ^ {\frac{m}{2}}) + 2^m.\tag{1}\label{eq1}$$ You defined $$S(m) = T(2^m).$$ Then equation $\eqref{eq1}$ should become the following equation,
which is different from $S(m)\,$$= S(\frac{m}{2})\,$$ + m$, the wrong equation in the question.
$$S(m) = S\left(\frac{m}{2}\right) + 2^m.$$
The equation above falls into the third case of the master theorem, therefore $S(m) \in \Theta(2^m)$. And from this follows $T(n) \in \Theta(n)$.
But now to your computation. Setting $n=2^m$, we obtain as you did
$$ T(2^m) = T(\sqrt{2 ^ m}) + 2^m=T(2 ^ {\frac{m}{2}}) + 2^m.\tag{1}\label{eq1}$$ You defined $$S(m) = T(2^m).$$ Then equation $\eqref{eq1}$ should become the following equation,
which is different from $S(m)\,$$= S(\frac{m}{2})\,$$ + m$, the wrong equation in the question.
$$S(m) = S\left(\frac{m}{2}\right) + 2^m.$$
The equation above falls into the third case of the master theorem, therefore $S(m) \in \Theta(2^m)$. And from this follows $T(n) \in \Theta(n)$.
Context
StackExchange Computer Science Q#80076, answer score: 8
Revisions (0)
No revisions yet.