递归算法和递归思维是什么?

1、 什么是递归算法?

将一个大问题转化成为一个与原问题相似的小问题,继而简化问题进行求解

       简单说,就是一个函数直接或者间接调用自身的方法

       比喻法理解,就是费曼技巧

 

2、 什么是递归思维?

不同于循环,递归注重有去(递过去)有回(归回来)。

举例说明:

A爬楼梯到顶楼,每走一层楼都是一个函数,然后重复调用这个函数,直到走完所有楼层到达顶楼,这就是循环,此时站在楼下的B不知道楼层有多高。

如果A到达顶楼之后,继续下楼梯,再次调用函数,直到到达楼下,告诉B楼层有多高,此时就是递归。

 

在语法中,存在主谓宾,然后宾语还可以嵌套主谓宾,并且是无限嵌套,这样的语句就存在递归的思维。

我吃水果-主谓宾

我吃妈妈买的水果-主谓主谓宾

我吃妈妈在张阿姨开的店里买的水果-此时使用在张阿姨店里来修饰买的动作,但是这个并不算是主谓宾的嵌套,完全不合理

 

在斐波拉切数列中有很好的体现

 面试中也经常会考察程序员的递归思维,通常使用冒泡排序等算法实操案例进行考察

posted @ 2021-04-04 15:21  Java精进之路  阅读(745)  评论(0编辑  收藏  举报