递归

什么是递归

递归的定义

在定义一个过程或函数时,出现直接或间接调用自己的成分,称之为递归

  • 直接调用自己称为直接递归
  • 间接调用自己称为间接递归

如果一个递归函数中调用递归语句是最后一条执行语句,则称这种递归调用为尾递归

  • 尾递归算法:可以用循环语句转换为等价的非递归算法
  • 其他递归算法:可以通过栈转换为等价的非递归算法

何时使用递归

  1. 定义是递归
  2. 数据结构是递归的
  3. 问题的求解方法是递归的

递归模型的构成

  • 递归出口—确定递归结束情况
  • 递归体—确定大小问题的求解情况

你可能感兴趣的:(递归,递归)