Ok so for the given function T(n) = T(n/2) + 2^n
for 2^n lets take its strict lower bound (nlogn)
So the function becomes T(n) = T(n/2) + nlogn and by masters theorem its time complexity comes out 0(nlogn)
Now lets take upper bound of 2^n i.e. 0(n^n)
so function becomes T(n) = T(n/2) + n^n and by masters theorem its time complexity becomes 0(n^n)
Thus we can conclude that whenever the function is changed to its strictly lower or upper bound , the time complexity becomes equals to that function. Hence for the function T(n) = T(n/2) + 2^n the time complexity equals 0(2^n)