《第五章、递归》-课件设计(公开).pptVIP

  • 1
  • 0
  • 约1.51万字
  • 约 55页
  • 2018-12-24 发布于广西
  • 举报
递 归 《数据结构》第五章 本章主要内容 递归概念 递归过程的计算机实现 递归过程不同实现方法 可利用递归方法实现的算法 分治法问题举例 回溯法问题举例 广义表 递归概念 递归的概念: 若一个对象部分地包含自己,则称这个对象是递增归的。 递归问题的特点: 该问题能分解为两类子问题: 非终结问题:需进一步递归的子问题。 终结问题:不需进一步递归就可求解的子问题。 终结问题,亦称为递归终止条件。 非终结问题经过有限次递归,最终可分解为终结问题。 常见使用递归的地方: 定义是递归的: 数据结构是递增归的: 问题是递归的 递归过程的计算机实现 递归过程: 一个过程在进行中又涉及自身,称此过程为递归过程 此处过程有两种含义:广义的和狭义的 广义的递归过程:描述某个事件的进行特性。 狭义的递归过程(递归算法):特指计算机中通过使用系统工作栈实现子程序的自我调用。 递归过程的计算机实现,可有三种方法: 利用系统提供的递归工作栈实现 利用用户自定义的栈实现 用叠代方法实现 用递归调用树描述递归过程: 【例】裴波那契数列的递推公式: 采用系统提供的递归工作栈: 计算机中对子程序的调用(即C/C++中的函数调用)通常是通过程序中断方式实现的 采用程序中断方式 在调用子程序前,需要保护现场(即保护调用程序的局部变量值、实在参数值),和保护断点(即返回地址),在调用子程序后,需要恢复现场和恢复断点。

文档评论(0)

1亿VIP精品文档

相关文档