一·介绍
🎉递归:程序调用自身的编程技巧。
🎉迭代:重复取代的过程,目的通常是为了逼近所需目标或结果,每一次对过程重复成为一次迭代,而每一次迭代得到的结果会做为下一次迭代的初始值。
🔥递归和迭代本质是一种方法。
二·递归
🎈执行一个过程时需要重复调用该过程。
🎈一个过程在运算中还没结束又调用该过程。
🎈递归,顾名思义:递推回归。从后往前处理。
🌈必须满足的两个条件:
•满足某个条件后停止。
•每次递归都更加接近这个条件。
三·迭代
🎈通过循环不断重复一个过程,这个过程中不断更新旧值,使新值不断取代旧值,新值又不断作为下一次的旧值,不断逼近目标,最终完成。循环执行一次就是一次迭代,迭代不是循环,迭代需要循环。
🎈一个过程结束再进行该过程。
🎈从前往后推理。
四·对比
☃️递归好处:递归可以使程序看着简介,便于理解。
☃️递归弊端:1.但递归会造成栈溢出(每次调用函数栈区需要开辟空间,但是栈区空间有限,当重复调用次数过多时,程序会崩溃),即递归和迭代的次数越多,我们会发现迭代依然只是一个简单的式子,而递归式子却越来越长,不断占用栈区内存。
☃️递归弊端:2.递归也使程序进行过多的重复计算,使计算机效率大大下降,如果你感兴趣,可以试一下比较大的数的一个递归,比如用递归计算斐波那契数列的第50个数,你会等一会才能出结果。
🌈总结:对于比较简单、不太占用空间的程序,我们一般采用递归(看起来简洁并且弊端影响不大),但对于比较复杂的,我们尽可能采取迭代。(个人理解)
🌈感谢观看!!!