递归

递归

定义:

在数学与计算机科学中,递归(Recursion)是指在函数的定义中使用函数自身的方法。实际上,递归,顾名思义,其包含了两个意思:递 和 归,这正是递归思想的精华所在。 {简单来说就是;指在当前方法内调用自己的这种现象}

优缺点:

优点:

1.递归的优点就是简洁、易于理解。
缺点:

1.递归通常会出现许多重复计算,导致时间复杂度高。
2.调用栈可能会溢出,其实每一次函数调用会在内存栈中分配空间,而每个进程的栈的容量是有限的,当调用的层次太多时,就会超出栈的容量,从而导致栈溢出。

模型

//递归函数的基础模型
		let i = 0
        function digui() {
        	i++
            if (i ==5 ) {
                return false
            }
            digui()
        }
        digui()

例子

题:用递归方法计算从1加到100的和

		//先声明一个i
		let i = 0
		//在函数中加入一个形参
        function fn(num) {
        //判断参数是否==1		(如100不等于1  返回100)
            if (num == 1) {
            //返回这个参数
                return num
            }
            //参数加上参数-1并返回 (比如 100+(100-1))
            return num + fn(num - 1)
        }
        //函数调用传入实参
        fn(100)
        //在控制台打印
        console.log(fn(100));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值