清华大学电子工程系课件——常用算法设计之二常用算法设计(2)孙甲松清华大学电子工程系sun@thsp.ee.tsinghua.edu.cn2007.9.5.递归法内容要点(a)递归法是描述算法的一种强有力的方法,其思想是:将N=n时不能得出解的问题,设法递归(压栈)将其转化为求n-1,n-2,的问题,一直持续到N=0或1的初始情况,由于初始情况的解可以直接给出或方便得到,因此开始层层退栈,从而得到N=2,3,,n时的解,得到最终结果。(b)用递归法写出的程序简单易读,但往往效率不高,因为每一次的递归函数调用都要压栈退栈。同时递归次数也不能无限制,因为每一次的递归函数调用都要压栈占用内存,而计算机的内存是有限的。5.递归法(2)学习难点递归程序的关键是,对于一个问题,要找出其递归关系和初始值。方法之一是利用归纳法把一个问题归纳总结出递归式,加上初始条件,从而编写出递归函数。对于单变量的递归问题f(n),步骤是:(a)当n=1或0时,可以得到f(n)的值;(b)假设小于等于n-1时,都可以得到f(n)的值;(c)则对于n,找出f(n)与f(n-1),f(n-2),的关系式:f(n)=F(f(n-1),f(n-2),);(d)开始编写递归程序5.递归法(3)【例1】编程求解Hanoi塔问题:即有n个盘子在A处,盘子从大到小,最上面的盘子最小,现在要把这n个盘子从A处搬到C处,可以在B处暂存,但任何时候不能出现大的压在小的上面的情况。5.递归
用户评论
推荐下载
-
清华大学的java课件
清华大学java2第二版很好的,我们学校的秘密。便于学生更好的掌握java,例子很多。
17 2020-01-13 -
JAVA课件清华大学出版
只是JAVA课件需要的可以下载清华大学的版本对于新手很管用支持的请顶
27 2020-01-13 -
数学建模清华大学课件
数学建模清华大学课件 微分方程相关内容具体
34 2018-12-25 -
清华大学vxwroks实验课件
VxWorks 应用开发8910实验指导
8 2021-05-09 -
清华大学数学实验课件
主要讲数学实验中MATLAB的使用,是课件,pdf格式
29 2019-01-06 -
清华大学Mathematica课件全集
清华大学的Mathematica课件全集,希望对有志学习者有益
20 2020-07-25 -
c语言课件清华大学
一个很详细的C语言课件 ,十分有用。是一个全集。
41 2019-01-01 -
c语言清华大学课件
c语言 精彩课件 清华 非常实用的课件 ,让你在短时间内 学会c语言编程
26 2019-01-01 -
清华大学cpp课件ppt
清华大学c++课件,下载下来和大家分享。
12 2021-04-10 -
清华大学机器学习课件
清华大学机器学习课件,研究生课程,入门级
42 2018-12-29
暂无评论