北屋教程网

专注编程知识分享,从入门到精通的编程学习平台

Python中一个有趣的概念:递归_python里的递归

今天在Python中学到一个有趣的概念。教学视频里的老师先举了一个故事,简单地说明了一下递归大概是什么意思。

故事是这样的:

从前有座山,山里有座庙,庙里有个老和尚,老和尚给小和尚讲故事,讲的什么故事呢?从前有座山,山里有座庙,庙里有个老和尚,老和尚给小和尚讲故事,讲的什么故事呢?从前有座山,山里有座庙,庙里有个老和尚,老和尚给小和尚讲故事,讲的什么故事呢?。。。

所以简单地理解,递归就是自己引用自己。而递归式函数就是,在函数中自己调用自己。上面的故事就类似于无穷递归了,就是这个故事可以一直讲下去。其实,说到这儿,大家也能猜到无穷递归如果被调用会怎么样了,效果是类似于死循环的。

但老师说,递归是一种解决问题的方式。因为一般也不会去写一个无穷递归,所以递归解决问题的基本思想,是将一个大问题分解为一个小问题,再将这个小问题分解为更小的问题,知道问题无法分解,再去解决问题。

其实反过来想,就是解决最小的问题以后再解决稍大一点的问题,再解决再大一些的问题。只是利用“递归”,不过是因为它们的解决方式是一样的,套娃一样,方式是一模一样,所以模式化了,函数自己套用自己了。

但实际生活中,虽然大部分时候解决问题不能用递归这种方法,但是却可以用递归的这种思想。将问题慢慢分解,最后找到最小的问题,也就是最根本的问题。首先解决根本问题,再,慢慢地一点一点去一个问题一个问题的解决。

因为有时候我们在遇到一些问题,尤其是一些抉择的时候,经常会不知道要怎么做,这个时候,可是试试利用这样的一直思维模式,没准能够找到一个最优的选择。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言