Skip to content

4.3 The substitution method for solving recurrences

4.3-1

Show that the solution of T(n)=T(n1)+nT(n) = T(n - 1) + n is O(n2)O(n^2).

We guess T(n)cn2T(n) \le cn^2,

T(n)c(n1)2+n=cn22cn+c+n=cn2+n(12c)+ccn2, \begin{aligned} T(n) & \le c(n - 1)^2 + n \\ & = cn^2 - 2cn + c + n \\ & = cn^2 + n(1 - 2c) + c \\ & \le cn^2, \end{aligned}

where the last step holds for c>12c > \frac{1}{2}.

4.3-2

Show that the solution of T(n)=T(n/2)+1T(n) = T(\lceil n / 2 \rceil) + 1 is O(lgn)O(\lg n).

We guess T(n)clg(na)T(n) \le c\lg(n - a),

T(n)clg(n/2a)+1clg((n+1)/2a)+1=clg((n+12a)/2)+1=clg(n+12a)clg2+1(c1)clg(n+12a)(a1)clg(na), \begin{aligned} T(n) & \le c\lg(\lceil n / 2 \rceil - a) + 1 \\ & \le c\lg((n + 1) / 2 - a) + 1 \\ & = c\lg((n + 1 - 2a) / 2) + 1 \\ & = c\lg(n + 1 - 2a) - c\lg 2 + 1 & (c \ge 1) \\ & \le c\lg(n + 1 - 2a) & (a \ge 1) \\ & \le c\lg(n - a), \end{aligned}

4.3-3

We saw that the solution of T(n)=2T(n/2)+nT(n) = 2T(\lfloor n / 2 \rfloor) + n is O(nlgn)O(n\lg n). Show that the solution of this recurrence is also Ω(nlgn)\Omega(n\lg n). Conclude that the solution is Θ(nlgn)\Theta(n\lg n).

First, we guess T(n)cnlgnT(n) \le cn\lg n,

T(n)2cn/2lgn/2+ncnlg(n/2)+n=cnlgncnlg2+n=cnlgn+(1c)ncnlgn, \begin{aligned} T(n) & \le 2c\lfloor n / 2 \rfloor\lg{\lfloor n / 2 \rfloor} + n \\ & \le cn\lg(n / 2) + n \\ & = cn\lg n - cn\lg 2 + n \\ & = cn\lg n + (1 - c)n \\ & \le cn\lg n, \end{aligned}

where the last step holds for c1c \ge 1.

Next, we guess T(n)c(n+a)lg(n+a)T(n) \ge c(n + a)\lg(n + a),

T(n)2c(n/2+a)(lg(n/2+a)+n2c((n1)/2+a)(lg((n1)/2+a))+n=2cn1+2a2lgn1+2a2+n=c(n1+2a)lg(n1+2a)c(n1+2a)lg2+n=c(n1+2a)lg(n1+2a)+(1c)n(2a1)c(0c<1,n(2a1)c1c)c(n1+2a)lg(n1+2a)(a1)c(n+a)lg(n+a), \begin{aligned} T(n) & \ge 2c(\lfloor n / 2 \rfloor + a)(\lg(\lfloor n / 2 \rfloor + a) + n \\ & \ge 2c((n - 1) / 2 + a)(\lg((n - 1) / 2 + a)) + n \\ & = 2c\frac{n - 1 + 2a}{2}\lg\frac{n - 1 + 2a}{2} + n \\ & = c(n - 1 + 2a)\lg(n - 1 + 2a) - c(n - 1 + 2a)\lg 2 + n \\ & = c(n - 1 + 2a)\lg(n - 1 + 2a) + (1 - c)n - (2a - 1)c & (0 \le c < 1, n \ge \frac{(2a - 1)c}{1 - c}) \\ & \ge c(n - 1 + 2a)\lg(n - 1 + 2a) & (a \ge 1) \\ & \ge c(n + a)\lg(n + a), \end{aligned}

4.3-4

Show that by making a different inductive hyptohesis, we can overcome the difficulty with the boundary condition T(1)=1T(1) = 1 for recurrence (4.19)\text{(4.19)} without adjusting the boundary conditions for the inductive proof.

We guess T(n)nlgn+nT(n) \le n\lg n + n,

T(n)2(cn/2lgn/2+n/2)+n2c(n/2)lg(n/2)+2(n/2)+n=cnlg(n/2)+2n=cnlgncnlg2+2n=cnlgn+(2c)ncnlgn+n, \begin{aligned} T(n) & \le 2(c\lfloor n / 2 \rfloor\lg{\lfloor n / 2 \rfloor} + \lfloor n / 2 \rfloor) + n \\ & \le 2c(n / 2)\lg(n / 2) + 2(n / 2) + n \\ & = cn\lg(n / 2) + 2n \\ & = cn\lg n - cn\lg{2} + 2n \\ & = cn\lg n + (2 - c)n \\ & \le cn\lg n + n, \end{aligned}

where the last step holds for c1c \ge 1.

This time, the boundary condition is

T(1)=1cnlgn+n=0+1=1.T(1) = 1 \le cn\lg n + n = 0 + 1 = 1.

4.3-5

Show that Θ(nlgn)\Theta(n\lg n) is the solution to the "exact" recurrence (4.3)\text{(4.3)} for merge sort.

The recurrence is

T(n)=T(n/2)+T(n/2)+Θ(n)(4.3)T(n) = T(\lceil n / 2 \rceil) + T(\lfloor n / 2 \rfloor) + \Theta(n) \tag{4.3}

To show Θ\Theta bound, separately show OO and Ω\Omega bounds.

  • For O(nlgn)O(n\lg n), we guess T(n)c(n2)lg(n2)2cT(n) \le c(n - 2)\lg(n - 2) - 2c,

T(n)c(n/22)lg(n/22)+c(n/22)lg(n/22)+dnc(n/2+12)lg(n/2+12)2c+c(n/22)lg(n/22)2c+dnc(n/21)lg(n/21)+c(n/21)lg(n/21)+dn=cn22lgn22+cn22lgn224c+dn=c(n2)lgn224c+dn=c(n2)lg(n2)c(n2)4c+dn=c(n2)lg(n2)+(dc)n+2c4cc(n2)lg(n2)2c, \begin{aligned} T(n) & \le c(\lceil n / 2 \rceil -2 )\lg(\lceil n / 2 \rceil - 2) + c(\lfloor n / 2 \rfloor - 2)\lg(\lfloor n / 2 \rfloor - 2) + dn \\ & \le c(n / 2 + 1 - 2)\lg(n / 2 + 1 - 2) - 2c + c(n / 2 - 2)\lg(n / 2 - 2) - 2c + dn \\ & \le c(n / 2 - 1 )\lg(n / 2 - 1) + c(n / 2 - 1)\lg(n / 2 - 1) + dn \\ & = c\frac{n - 2}{2}\lg\frac{n - 2}{2} + c\frac{n - 2}{2}\lg\frac{n - 2}{2} - 4c + dn \\ & = c(n - 2)\lg\frac{n - 2}{2} - 4c + dn \\ & = c(n - 2)\lg(n - 2) - c(n - 2) - 4c + dn \\ & = c(n - 2)\lg(n - 2) + (d - c)n + 2c - 4c \\ & \le c(n - 2)\lg(n - 2) - 2c, \end{aligned}

where the last step holds for c>dc > d.

  • For Ω(nlgn)\Omega(n\lg n), we guess T(n)c(n+2)lg(n+2)+2cT(n) \ge c(n + 2)\lg (n + 2) + 2c,

T(n)c(n/2+2)lg(n/2+2)+c(n/2+2)lg(n/2+2)+dnc(n/2+2)lg(n/2+2)+2c+c(n/21+2)lg(n/21+2)+2c+dnc(n/2+1)lg(n/2+1)+c(n/2+1)lg(n/2+1)+4c+dncn+22lgn+22+cn+22lgn+22+4c+dn=c(n+2)lgn+22+4c+dn=c(n+2)lg(n+2)c(n+2)+4c+dn=c(n+2)lg(n+2)+(dc)n2c+4cc(n+2)lg(n+2)+2c, \begin{aligned} T(n) & \ge c(\lceil n / 2 \rceil +2 )\lg(\lceil n / 2 \rceil + 2) + c(\lfloor n / 2 \rfloor + 2)\lg(\lfloor n / 2 \rfloor + 2) + dn \\ & \ge c(n / 2 + 2)\lg(n / 2 + 2) + 2c + c(n / 2 - 1 + 2)\lg(n / 2 - 1 + 2) + 2c + dn \\ & \ge c(n / 2 + 1)\lg(n / 2 + 1) + c(n / 2 + 1)\lg(n / 2 + 1) + 4c + dn \\ & \ge c\frac{n + 2}{2}\lg\frac{n + 2}{2} + c\frac{n + 2}{2}\lg\frac{n + 2}{2} + 4c + dn \\ & = c(n + 2)\lg\frac{n + 2}{2} + 4c + dn \\ & = c(n + 2)\lg(n + 2) - c(n + 2) + 4c + dn \\ & = c(n + 2)\lg(n + 2) + (d - c)n - 2c + 4c \\ & \ge c(n + 2)\lg(n + 2) + 2c, \end{aligned}

where the last step holds for d>cd > c.

4.3-6

Show that the solution to T(n)=2T(n/2+17)+nT(n) = 2T(\lfloor n / 2 \rfloor + 17) + n is O(nlgn)O(n\lg n).

We guess T(n)c(na)lg(na)T(n) \le c(n - a)\lg(n - a),

T(n)2c(n/2+17a)lg(n/2+17a)+n2c(n/2+17a)lg(n/2+17a)+n=c(n+342a)lgn+342a2+n=c(n+342a)lg(n+342a)c(n+342a)+n(c>1,n>n0=f(a))c(n+342a)lg(n+342a)(a34)c(na)lg(na). \begin{aligned} T(n) & \le 2c(\lfloor n / 2 \rfloor + 17 - a)\lg(\lfloor n / 2 \rfloor + 17 - a) + n \\ & \le 2c(n / 2 + 17 - a)\lg(n / 2 + 17 - a) + n \\ & = c(n + 34 - 2a)\lg\frac{n + 34 - 2a}{2} + n \\ & = c(n + 34 - 2a)\lg(n + 34 - 2a) - c(n + 34 - 2a) + n & (c > 1, n > n_0 = f(a)) \\ & \le c(n + 34 - 2a)\lg(n + 34 - 2a) & (a \ge 34) \\ & \le c(n - a)\lg(n - a). \end{aligned}

4.3-7

Using the master method in Section 4.5, you can show that the solution to the recurrence T(n)=4T(n/3)+nT(n) = 4T(n / 3) + n is T(n)=Θ(nlog34)T(n) = \Theta(n^{\log_3 4}). Show that a substitution proof with the assumption T(n)cnlog34T(n) \le cn^{\log_3 4} fails. Then show how to subtract off a lower-order term to make the substitution proof work.

We guess T(n)cnlog34T(n) \le cn^{\log_3 4} first,

T(n)4c(n/3)log34+n=cnlog34+n. \begin{aligned} T(n) & \le 4c(n / 3)^{\log_3 4} + n \\ & = cn^{\log_3 4} + n. \end{aligned}

We stuck here.

We guess T(n)cnlog34dnT(n) \le cn^{\log_3 4} - dn again,

T(n)4(c(n/3)log34dn/3)+n=4(cnlog34/4dn/3)+n=cnlog3443dn+ncnlog34dn, \begin{aligned} T(n) & \le 4(c(n / 3)^{\log_3 4} - dn / 3) + n \\ & = 4(cn^{\log_3 4} / 4 - dn / 3) + n \\ & = cn^{\log_3 4} - \frac{4}{3}dn + n \\ & \le cn^{\log_3 4} - dn, \end{aligned}

where the last step holds for d3d \ge 3.

4.3-8

Using the master method in Section 4.5, you can show that the solution to the recurrence T(n)=4T(n/2)+nT(n) = 4T(n / 2) + n is T(n)=Θ(n2)T(n) = \Theta(n^2). Show that a substitution proof with the assumption T(n)cn2T(n) \le cn^2 fails. Then show how to subtract off a lower-order term to make the substitution proof work.

First, let's try the guess T(n)cn2T(n) \le cn^2. Then, we have

T(n)=4T(n/2)+n4c(n/2)2+n=cn2+n. \begin{aligned} T(n) &= 4T(n / 2) + n \\ &\le 4c(n / 2)^2 + n \\ &= cn^2 + n. \end{aligned}

We can't proceed any further from the inequality above to conclude T(n)cn2T(n) \le cn^2.

Alternatively, let us try the guess

T(n)cn2cn,T(n) \le cn^2 - cn,

which subtracts off a lower-order term. Now we have

T(n)=4T(n/2)+n=4(c(n/2)2c(n/2))+n=4c(n/2)24c(n/2)+n=cn2+(12c)ncn2, \begin{aligned} T(n) &= 4T(n / 2) + n \\ &= 4\left(c(n / 2)^2 - c(n / 2)\right) + n \\ &= 4c(n / 2)^2 - 4c(n / 2) + n \\ &= cn^2 + (1 - 2c)n \\ &\le cn^2, \end{aligned}

where the last step holds for c1/2c \ge 1 / 2.

4.3-9

Solve the recurrence T(n)=3T(n)+lognT(n) = 3T(\sqrt n) + \log n by making a change of variables. Your solution should be asymptotically tight. Do not worry about whether values are integral.

First,

T(n)=3T(n)+lgn let m=lgnT(2m)=3T(2m/2)+mS(m)=3S(m/2)+m. \begin{aligned} T(n) & = 3T(\sqrt n) + \lg n & \text{ let } m = \lg n \\ T(2^m) & = 3T(2^{m / 2}) + m \\ S(m) & = 3S(m / 2) + m. \end{aligned}

Now we guess S(m)cmlg3+dmS(m) \le cm^{\lg 3} + dm,

S(m)3(c(m/2)lg3+d(m/2))+mcmlg3+(32d+1)m(d2)cmlg3+dm. \begin{aligned} S(m) & \le 3\Big(c(m / 2)^{\lg 3} + d(m / 2)\Big) + m \\ & \le cm^{\lg 3} + (\frac{3}{2}d + 1)m & (d \le -2) \\ & \le cm^{\lg 3} + dm. \end{aligned}

Then we guess S(m)cmlg3+dmS(m) \ge cm^{\lg 3} + dm,

S(m)3(c(m/2)lg3+d(m/2))+mcmlg3+(32d+1)m(d2)cmlg3+dm. \begin{aligned} S(m) & \ge 3\Big(c(m / 2)^{\lg 3} + d(m / 2)\Big) + m \\ & \ge cm^{\lg 3} + (\frac{3}{2}d + 1)m & (d \ge -2) \\ & \ge cm^{\lg 3} + dm. \end{aligned}

Thus,

S(m)=Θ(mlg3)T(n)=Θ(lglg3n). \begin{aligned} S(m) & = \Theta(m^{\lg 3}) \\ T(n) & = \Theta(\lg^{\lg 3}{n}). \end{aligned}