Javascript函数之深入浅出递归思想
递归”在生活中的一个典例就是“问路”。如图小哥哥进入电影院后找不到自己的座位,问身边的小姐姐“这是第几排”,小姐姐也不清楚便依次向前询问,问至第一排的观众后依次向后反馈结果,“我是第一排”,“我是第二排”,···,最终确定自己座位所在排数。 在这个过程中充分反应了“传递”(询问)和“回归”(反馈)的思想,故将这种现象称为“递归”。 2、编程中的递归 计算机有两个特点:“很笨”又“很快”。所以将“复杂问题”转化为“多步骤的简单问题”后,计算机才能高效执行。 而递归是编程算法的一种,通过调用自身,将一些复杂的问题简单化,便于得出解决方案。 下面通过简单的案例了解编程中的递归
案例:计算1+2+3+4+5+6的和。 通过计算过程可以看出,函数依次计算f(6)、f(5)、f(4)、f(3)、 f(2)、f(1),很好的满足了第二个要素 逐步靠近终止条件。 二.递归函数的使用通过以上讲解,想必已经了解递归函数的原理, 那么递归函数是如何写出来的呢? 如何利用递归函数解决实际问题呢? 实例探索递归函数的书写“套路” 例题:计算n的阶乘。 步骤 1:找到终止条件,写给 if 数学知识 :n! = n * (n - 1) * (n - 2) * (n -3) * ··· * 3 * 2 * 1 显然 终止条件 是 n === 1; 时, return 1;故可以完成函数的 前半部分: (编辑:阿坝站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |