美文网首页
递归函数

递归函数

作者: CHH5431 | 来源:发表于2019-04-12 12:38 被阅读0次

递归函数定义

编程语言中,函数Func(Type a,……)直接或间接调用函数本身,则该函数称为递归函数。


要点

  1. 函数直接或间接调用本身;
  2. 循环调用结束时机(只有达到了结束时机,才会有最终的结果);

递归的逻辑梳理

  1. 基本功能函数
  2. 递推逻辑转化
  3. 临界条件(基本功能函数调用结束的条件)

示例分析

需求:求出1-100之间,所有整数的和;代码如下:

    function sum(n){
        if(n===1){
            return 1
        }else{
            return sum(n-1) + n
        }
    }
    console.log(sum(100)); //输出结果5050

基本功能函数

    function sum(n){
        return sum(n-1) + n;
    }

解释:求n+(n-1)的和;

递归逻辑转化

求100的和转化为求99的和;
求99的和转化为求98的和;
求98的和转化为求97的和;
......
求1的和转化为求1的和;(临界条件就是n=1)


常见的递归函数

  • Fibonacci数列(斐波那契数列)
 function fib(n){
   if(n == 0 || n ==1) return 1;
   return fib(n-1) + fib(n-2);
 }
  • 阶乘
    function foo(n){
        if( n == 1) return 1;
        return foo(n - 1) * n;
    }

相关文章

  • Day10递归函数、模块、迭代器、生成器

    一、递归函数 1、什么是递归函数 在函数中调用函数本身的函数就是递归函数。 2、递归的作用 循环能做的递归都能做 ...

  • day11 函数(3)

    递归函数 实际开发的时候,能不用递归就不用 什么是递归函数 函数中调用函数本身的函数就是递归函数 递归的作用: 循...

  • python 递归函数

    递归函数 递归函数 : 在函数的调用自身 递归边界 : 退出递归的终止条件 例1,函数func如果没有设备递归边界...

  • day11-日常(递归函数、模块、迭代器、生成器)

    递归函数(实际开发的时候,能不用递归就不用) 1.什么是递归函数 函数中调用函数本身的函数就是递归函数 2.递归的...

  • 2019-01-07day11学习总结

    递归函数 实际开发的时候能不用递归就不用递归 1. 什么是递归函数 函数中调用函数本身的函数就是递归函数 2. 递...

  • 递归函数、模块、生成器、迭代器

    一、递归函数 实际开发的时候,能不用递归就不用 1.什么是递归函数 函数中调用函数本身的函数就是递归函数 2.递归...

  • day 11总结

    递归函数 实际开发的时候,能不用递归就不用1.什么是递归函数函数中调用函数本身的函数就是递归函数 2.递归的作用:...

  • Day11笔记

    实际开发的时候,能不用递归就不用 递归函数 1.什么是递归函数函数中调用函数本身的函数就是递归函数 2.递归的作用...

  • day11 生成器迭代器

    一、递归函数 1.什么是递归函数在函数中调用函数本身的函数就是递归函数 2.递归的作用:循环能做的事,递归都能做 ...

  • Day_11-函数(三)

    一、递归函数 实际开发时候,能不用递归就不用 1.什么是递归函数函数中调用函数本身的函数就是递归函数 2.递归的作...

网友评论

      本文标题:递归函数

      本文链接:https://www.haomeiwen.com/subject/avaqwqtx.html