7. 函数递归
7.1 什么是递归?
程序调用自身的编程技巧称为递归( recursion)。
递归做为一种算法在程序设计语言中广泛应用。
一个过程或函数在其定义或说明中有直接或间接 调用自身的 一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解, 递归策略 只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。
递归的主要思考方式在于:把大事化小
7.2 递归的两个必要条件
存在限制条件,当满足这个限制条件的时候,递归便不再继续。
每次递归调用之后越来越接近这个限制条件
7.3 递归与迭代
注意:1. 许多问题是以递归的形式进行解释的,这只是因为它比非递归的形式更为清晰。
- 但是这些问题的迭代实现往往比递归实现效率更高,虽然代码的可读性稍微差些。
- 当一个问题相当复杂,难以用迭代实现时,此时递归实现的简洁性便可以补偿它所带来的运行时开销。
写得比较简略,突出说明了重要的一些部分,剩余的练习以及想法需要读者自己下来好好研究琢磨
个人愚见,望交流学习!! 转载请注明出处
学习是一个需要不断进步不断前进的过程!!希望作者能与读者一起坚持向前!!
标签:调用,函数,迭代,程序,C语言,问题,递归,要点 From: https://blog.51cto.com/u_15801317/5875334