算法---递归

亡梦爱人 提交于 2020-01-20 02:06:05

1、什么是递归?

“要理解递归,就得先了解什么是递归”,实际上这句话就是一个递归。哈哈,是不是把大家说蒙了,没关系,接下来举个从小就听 过的例子:从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山,山里有座庙,庙里有个和尚,和尚在讲故事,从前有座山…
在这里插入图片描述

2、举例数组求和----计算数组某个区间内所有谁的和

package recursion;

public class Sum {
    public static int sum(int[] arr) {
        return sum(arr, 0);
    }

    private static int sum(int[] arr, int index) {
        if (index == arr.length) {
            return 0;
        }
        return arr[index] + sum(arr, index + 1);
    }

    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4, 5, 6, 7, 8};
        System.out.println(sum(nums));
    }
}

在这里插入图片描述

3、链表具有天然的递归性

对于一个链表来说,我们可以理解成一个一个节点的挂接,也可以理解成是一个头节点后面又挂接了一个更小的更短的链表。
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!