这篇文章将为您解答以下问题:
1.什么是递归函数?
2.递归函数的执行流程是怎样的?(将在代码演示模块画图帮助理解)
3.递归函数的限制条件有哪些?
4.递归函数有哪些优缺点?
5.代码演示。
递归函数的定义:递归函数即自调用函数,在函数体内部直接或间接地自己调用自己的函数。
所谓递归函数,在函数的命名中就已经交代了该函数的执行顺序。递归递归,先递后归。递归函数中的“递”,可以理解为“递推”,“归”可以理解为“回归”。即先调用函数直到不满足调用的条件为止,之后开始回归,回归的顺序则是从后往前。这时问题来了:究竟回归到哪?答案是,回归到上一步调用函数的位置(如果对这句话不是很理解,莫慌,博主将在代码演示模块画图帮助您进一步理解)。
以上回答了第一和第二个问题。接下来谈谈递归函数的限制条件。
递归函数的限制条件:
1.使用递归函数时应加上限制条件,可以理解为递归函数的执行要有准入条件,当不满足准入条件时停止递归,防止出现栈溢出。
2.每次递归调用的时候越来越接近限制条件。
递归函数的优缺点:
优点:只需要少量程序就可以描述出解题过程所需要的多次重复计算,大大减少了程序的代码量。
缺点:如果递归层次太深,容易造成死递归。
代码演示