软件设计与数据结构

Chapter 7 Recursion

| 关于   «  2. 测验 2 说明   ::   目录   ::   4. 期中检查点  »

3. 递归

3.1. 目标

完成本模块后,学生将能够:

  • 跟踪递归方法

  • 实现递归方法

  • 评估递归方法的效率

3.1.1. 建议阅读

第 7 章,来自 Data Structures and Abstractions with Java(第 4 版),Frank M. Carrano 和 Timothy Henry 著

3.2. 递归简介

3.2.1. 递归简介(第 1 部分)

3.2.2. 递归简介(第 2 部分)

跟随并参与(Follow Along and Engage)

下载与视频对应的幻灯片。观看视频时在幻灯片上做笔记,并自己动手练习绘制示意图!

RecursionIntro.pdf

3.3. 检查点 1

3.4. 交互式:更多递归:阶乘示例

跟随并参与(Follow Along and Engage)

下载与视频对应的幻灯片。观看视频时在幻灯片上做笔记,并自己动手练习绘制示意图!

RecursionExample.pdf

3.5. 编程练习:递归 1

3.6. 交互式:数组上的递归:显示数组

跟随并参与(Follow Along and Engage)

下载与视频对应的幻灯片。观看视频时在幻灯片上做笔记,并自己动手练习绘制示意图!

DisplayArrays.pdf

更正说明(Correction to note!)

本视频中第二个示例的代码在 if 块中缺少 {} 。它应该是:

public static void displayArray2(int[] array, int first, int last)
{
     if (first <= last) {
         displayArray2(array, first, last - 1);
         System.out.print(array[last] + " ");
     }

}

3.7. 检查点 2

3.8. 交互式:数组上的递归:显示数组的中间部分

跟随并参与(Follow Along and Engage)

下载与视频对应的幻灯片。观看视频时在幻灯片上做笔记,并自己动手练习绘制示意图!

DisplayArraysMiddle.pdf

3.9. 检查点 3

3.10. 编程练习:递归 2

3.11. 交互式:链式链上的递归

跟随并参与(Follow Along and Engage)

下载与视频对应的幻灯片。观看视频时在幻灯片上做笔记,并自己动手练习绘制示意图!

DisplayBagsRecursively.pdf

3.12. 交互式:汉诺塔

跟随并参与(Follow Along and Engage)

下载与视频对应的幻灯片。观看视频时在幻灯片上做笔记,并自己动手练习绘制示意图!

TowersOfHanoi.pdf

3.13. 检查点 4

3.14. 交互式:递归小结

跟随并参与(Follow Along and Engage)

下载与视频对应的幻灯片。观看视频时在幻灯片上做笔记,并自己动手练习绘制示意图!

RecursionWrapUp.pdf

3.15. 编程练习:递归 3

3.16. 前向流程跟踪练习

3.17. 后向流程跟踪练习

3.18. 查找错误跟踪练习

3.19. 两次递归调用跟踪练习

3.20. 执行次数跟踪练习

3.21. 更具难度的跟踪练习

   «  2. 测验 2 说明   ::   目录   ::   4. 期中检查点  »

关闭窗口