文章目录 零、本讲学习目标 一、理解递推与递归 二、案例演示递归 (一)利用递推法与递归法计算阶乘 课堂练习:利用递推法和递归法计算1 + 2 + …… +100 (二)利用递归实现汉诺塔游戏 1、汉诺塔游戏规则 2、编程实现汉诺塔游戏 三、课后作业 任务:采用递归方法获取斐波拉契数列第n项的值 四、“一题多解”与“一诗多译” 零、本讲学习目标 理解递归的含义 理解递推与递归的区别 掌握如何实现递归 一、理解递推与递归 递推法是由已知向未知拓展,采用循环结构完成,时间复杂度高而空间复杂度低。 递归法是由未知向已知溯源,采用选择结构完成,时间复杂度低而空间复杂度高。 说明:方法的递归是指在一个方法的内部调用自身的过程。递归必须要有结束条件,不然就会陷入无限递归的状态,永远无法结束调用。 二、案例演示递归 (一)利用递推法与递归法计算阶乘 在c03.s02.p03包里创建Factorial类 package c03