1 / 22

计算机解决 递归 问题的必要条件

计算机解决 递归 问题的必要条件. 成都师范学院 计算机科学系 匡胤. 计算机解决递归问题 的必要条件. 什么是递归问题 三个必要条件 实例:汉诺塔问题. 1. 什么 是递归问题. 递归 (Recursion) :一个过程或函数在其定义或说明 中直 接或间接调用自身的一种 方法 。. 间接 递归. 直接递归. 2. 三个必要条件. 初始问题能转化为一个新的问题,这两个问题的解决方法是类似的; 经过转化后问题变得更加简单,因而更 加 容易解决; 转化有终止条件,即在一定条件下,新问题可以直接解决;. 3. 实例:汉 诺塔问题.

larya
Download Presentation

计算机解决 递归 问题的必要条件

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 计算机解决递归问题的必要条件 成都师范学院 计算机科学系 匡胤

  2. 计算机解决递归问题的必要条件 什么是递归问题 三个必要条件 实例:汉诺塔问题

  3. 1. 什么是递归问题 递归(Recursion):一个过程或函数在其定义或说明中直接或间接调用自身的一种方法。 间接递归 直接递归

  4. 2. 三个必要条件 初始问题能转化为一个新的问题,这两个问题的解决方法是类似的; 经过转化后问题变得更加简单,因而更加容易解决; 转化有终止条件,即在一定条件下,新问题可以直接解决;

  5. 3. 实例:汉诺塔问题

  6. 3. 实例:汉诺塔问题 初始状态 … 64 2 3 1

  7. 3. 实例:汉诺塔问题 终止状态 … 64 2 3 1

  8. 3. 实例:汉诺塔问题 • 移动规则 • 每时刻只能移动一个盘子 • 小盘子可以放在大盘子上,反之不行 … 64 2 3 1

  9. 3. 实例:汉诺塔问题 • 如何移动64个盘子? … 64 2 3 1

  10. 3. 实例:汉诺塔问题 • 如何移动64个盘子? … 63 64 2 3 1

  11. 3. 实例:汉诺塔问题 • 如何移动? … 63 2 3 1

  12. 3. 实例:汉诺塔问题 • 如何移动? … 63 2 3 1

  13. 3. 实例:汉诺塔问题 • 如何移动? … 63 2 3 1

  14. 3. 实例:汉诺塔问题 • 如何移动? … 62 63 2 3 1

  15. 3. 实例:汉诺塔问题 • 如何移动? 3 2 3 1

  16. 3. 实例:汉诺塔问题 • 如何移动? 2 3 1

  17. 3. 实例:汉诺塔问题 • 如何移动? 2 3 1

  18. 3. 实例:汉诺塔问题 • 如何移动? 2 3 1

  19. 3. 实例:汉诺塔问题 • 如何移动? 2 3 1

  20. 3. 实例:汉诺塔问题 • 初始问题能转化为一个新的问题,这两个问题的解决方法是类似的; … 3 64 2 2 3 3 1 1

  21. 3. 实例:汉诺塔问题 • 2) 经过转化后问题变得更加简单,因而更容易解决; … 3 64 2 2 3 3 1 1

  22. 3. 实例:汉诺塔问题 3)转化有终止条件,即在一定条件下,新问题可以直接解决; … 3 64 2 2 3 3 1 1

More Related