递归函数的基本思想
展开全部
递归函数的基本思想如下:
递归就是方法自己调用自己 递归特点: 有临界点 当一个方法执行完毕,或者遇到retrun,就会返回,函数就是出栈。
待求解问题的解 输入变量x的函数f(x),通过寻找函数g( ), 使得f(x) = g(f(x-1))。
且已知f(0)的值, 就可以通过f(0)和g( )求出f(x)的值。
扩展到多个输入变量x, y, z等, x-1也可以推广到 x - x1 , 只要递归朝着 “出口” 的方向即可。
把一个问题划分成一组子问题, 依次对这些子问题求解。
子问题之间是横向的, 同类的关系 递归: 把一个问题逐级分解成子问题。
子问题与原问题之间是纵向的, 同类的关系。
语法形式上: 在一个函数的运行过程中, 调用这个函数自己。
直接调用: 在fun()中直接执行fun()。
间接调用: 在fun1()中执行fun2(); 在fun2()中又执行fun1() 递归与枚举的区别。
递归的三个要点:
递归式:如何将原问题划分成子问题。
递归出口: 递归终止的条件, 即最小子问题的求解,可以允许多个出口 。
界函数: 问题规模变化的函数, 它保证递归的规模向出口条件靠拢,求阶乘的递归程序。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |