7.用生成函数求解下列递归方程 f(n)=2f(n/2)+cn n>1 f(1)=0 n=1


递归方程:

\[\begin{cases} f(n)=2f(n/2)+c\cdot &n>1\\\\ f(1)=0 &n=1 \end{cases} \]

换元:

\[\begin{array}[lcl] s令\quad k=2^n,f(n)=f(2^k)=h(k)\\\\\\ 则\quad h(k)=2h(k-1)+2^k \quad\quad\;\\\\\\ 故递归方程变为:\begin{cases} h(k)=2h(k-1)+2^k &k>0\\\\ h(0)=0 &k=0 \end{cases} \end{array} \]

构造生产函数求解:

\[\begin{array}[lcl] sG(x) =\sum_{k=0}^{+\infty}\left[h(k)\cdot x^k\right] \qquad\qquad\qquad (1)\\\\\\ 2x\cdot G(x) =\sum_{k=0}^{+\infty}\left[2h(k)\cdot x^{k+1}\right] \qquad\;\;\,(2)\\\\\\ (1)-(2)得:\\\\\\ (1-2x)\cdot G(x)=h(0)+\sum_{k=0}^{+\infty}\left\{\left[h\left(k+1\right)-2h\left(k\right)\right]\cdot x^{k+1}\right\}\\\\\\ \qquad\qquad\qquad\;\;\,=h(0)+C\cdot \sum_{k=0}^{+\infty}(2^{k+1}\cdot x^{k+1})\\\\\\ \qquad\qquad\qquad\;\;\,=h(0)+C\cdot \left(\frac{2x}{1-2x}\right)\\\\\\ \therefore G(x)=\frac{h(0)}{1-2x}+C\cdot \left[\frac{1}{\left(1-2x\right)^2}-\frac{1}{1-2x}\right]\\\\\\ \because h(0)=f(0)=0\\\\\\ \therefore G(x)=C\cdot \sum_{k=0}^{+\infty}\left[k\cdot(2x)^k\right]\\\\\\\qquad\quad\;\,= \sum_{k=0}^{+\infty}\left[c\cdot k\cdot (2x)^k\right]\\\\\\ \therefore h(k)=C \cdot k \cdot 2^k\\\\\\ 又\because n=2^k \therefore f(n)=c\cdot nlog_2n \end{array} \]


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM