第06讲栈与递归.pptVIP

  • 5
  • 0
  • 约3.21千字
  • 约 19页
  • 2015-08-16 发布于广东
  • 举报
三、递归程序到非递归程序的转换 选择递归 还是 非递归: 采用递归方式实现问题的算法程序具有结构清晰、读性好、易于理解等优点,但递归程序较之非递归程序无论是空间需求还是时间需求都更高,因此在希望节省存储空间和追求执行效率的情况下,人们更希望使用非递归方式实现问题的算法程序。 * * Essential of Lecture Six : 一、递归 二、汉诺塔问题 三、递归与非递归的转化 难点 一、递归 递归是程序设计中最有力的方法之一。 优点:采用递归编出的程序简洁、清晰,程序结构符合结构化程序设计,可读性好。 问题:编译程序是如何处理这类带有递归调用功能的程序的?如果使用了无递归功能的程序设计语言,应该如何设计和实现这类程序呢? 一、递归 递归: 在定义自身的同时又出现了对自身的调用。 直接递归函数:如果一个函数在其定义体内直接调用自己,则称直接递归函数。 间接递归函数:如果一个函数经过一系列的中间调用语句,通过其它函数间接调用自己,则称间接递归函数。 数学中常常利用递归手段来定义一些概念,如求阶乘的运算。n的阶乘定义为: n * ( n – 1 ) ! n0 n! = 1

文档评论(0)

1亿VIP精品文档

相关文档