首页 > 代码库 > JS递归

JS递归

递归的概念:递归,就是在运行的过程中调用自己。--百度百科

递归应用:(1)数据的定义是按递归定义的。(Fibonacci函数

                   (2)问题解法按递归算法实现。
                               这类问题虽则本身没有明显的递归结构,但用递归求解比迭代求解更简单,如Hanoi问题。
                   (3)数据的结构形式是按递归定义的。
                               如二叉树、广义表等,由于结构本身固有的递归特性,则它们的操作可递归地描述。

递归的步骤(技巧)

1. 假设递归函数已经写好
2. 寻找递推关系
3. 将递推关系的结构转换为递归体
4. 将临界条件加入到递归体中

例:求1-10的和
  1. function sum(i) {
  2. if(i == 1) {
  3. return 1;
  4. } else {
  5. return sum(i - 1) + i;
  6. }
  7. }
  8. document.write(sum(10));




null


JS递归