Python Web学习笔记之递归和迭代的区别
2023-09-27 14:23:27 时间
电影故事例证:
迭代——《明日边缘》
递归——《盗梦空间》
迭代是更新变量的旧值。递归是在函数内部调用自身。
迭代是将输出做为输入,再次进行处理。比如将摄像头对着显示器;比如镜子对着镜子;比如KTV中将麦克对着音箱;比如机关枪扣动扳机发射子弹后,利用后座力继续扣动扳机。
用程序表述就是:for (int i=0; i < 100; i++) n = f(n);
再给迭代举个通俗点的例子:假如你有一条哈士奇和一条中华田园犬,怎么让它们串出比较纯正的哈士奇呢?先让哈士奇与中华田园犬配对,生下小狗。再让哈士奇与小狗配对,当然要等小狗长大后。就这样一直让哈士奇与新生的小狗配对,一代一代地迭,最终你能得到比较纯正的哈士奇。如果你纠结猫三狗四,猪五羊六,牛七马八这样的自然规律,不妨把两条狗改为老鼠与宠物仓鼠,他们一个月就能迭代一次。
递归,简讲就是自己调用自己,自己包含自己。用程序表述就是:void f(int n){f(n - 1);}不要在意这是死循环代码,只需知道这个函数中,又调用了函数自身,属于自己调用自己。
比如,显示器中的显示器,镜子中的镜子。我前面写着:摄像头对着显示器,镜子对着镜子是迭代,怎么现在又改成递归了?这不矛盾,因为摄像头对着显示器,镜子对着镜子这种行为是输出做为输入,再次进行处理,所以是迭代。显示器中的显示器,镜子中的镜子这种效果是自己包含自己,所以是递归。如同上面那幅图像,生成它的代码是迭代,而分形的效果是递归。
举个例子吧:你要给某个小孩子买玩具。
递归:你自己不太了解小孩子的需求,为了缩小范围,让你的儿子去给孙子挑选。儿子比你强点有限,但依然不太了解小孩子的需求。为了缩小范围,你又让你孙子去挑选。如此这般,直到找到合适的玩具。
迭代:你挑了一件觉得不行,又挑了一件又不行。如此这般,直到找到合适的玩具。
所以一句话:递归是自己调用自己,每次旨在缩小问题规模。迭代是自己执行很多次,每次旨在更接近目标。
递归:你自己不太了解小孩子的需求,为了缩小范围,让你的儿子去给孙子挑选。儿子比你强点有限,但依然不太了解小孩子的需求。为了缩小范围,你又让你孙子去挑选。如此这般,直到找到合适的玩具。
迭代:你挑了一件觉得不行,又挑了一件又不行。如此这般,直到找到合适的玩具。
所以一句话:递归是自己调用自己,每次旨在缩小问题规模。迭代是自己执行很多次,每次旨在更接近目标。
相关文章
- 【正则】详解python正则表达式之re.group()用法
- python学习笔记(排序、计算表达式 、all()、any()、 枚举函数 、zip打包函数、 set() 函数、 过滤器filter、 打印时间、 等分list)
- Python调用C模块以及性能分析
- 数据分析---《Python for Data Analysis》学习笔记【03】
- 整理的最全 python常见面试题(基本必考)
- Python数据结构——AVL树的实现
- 如何利用Python进行数据分析
- Python Web学习笔记之WebSocket 通信过程与实现
- Python Web学习笔记之WebSocket原理说明
- Python Web学习笔记之Cookie,Session,Token区别
- Python Web学习笔记之GIL机制下的鸡肋多线程
- Python Web学习笔记之Python多线程和多进程、协程入门
- Python Web学习笔记之TCP的3次握手与4次挥手过程
- Python Web学习笔记之TCP、UDP、ICMP、IGMP的解释和区别
- Python Web学习笔记之IGMP和ICMP的差别
- Python学习笔记之@classmethod与@staticmethod
- 全网最详细超长python学习笔记、14章节知识点很全面十分详细,快速入门,只用看这一篇你就学会了!
- 黑马程序员 Python学习笔记之 判断(if)语句
- Python学习笔记131
- python核心编程学习记录之条件和循环
- Python学习笔记 day6 面向对象编程
- Python学习笔记 day4 基础4
- Python demo
- PyQt(Python+Qt)学习随笔:toolButton的toolButtonStyle属性
- Python笔记之基本的语法
- Python学习笔记20:server先进
- python自定义函数大全
- Python小工具-复制嵌套目录下的多个word文档到指定目录
- 【Python笔记2.2】用zipfile解压zip包时遇到的Unicode字符编解码问题
- 【Python笔记1.1】C/C++多线程调Python--好文
- python实现n皇后代码-汉诺塔代码,左程云视频笔记