递归算法介绍
程序员文章站
2022-03-31 10:07:37
...
大多选手都知道,递归是第一道槛,如果不通过这道槛,那么你以后差不多就没法学了。
所以,递归很重要。
什么是递归呢?
程序调用自身的编程技巧称为递归。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件满足时,递归返回。
例如【P1427】小鱼的数字游戏,怎样用递归倒序输出呢?
#include<iostream>
using namespace std;
void f(){
int n;
cin>>n;
if (n==0) return ;
f();
cout<<n<<" ";
}
int main(){
f();
return 0;
}
这个程序,每调用一次自己就会开辟一个空间,假设输入三个数2 1 0,那么过程如下图:
一定要注意的是,上面的n必须得设定成局部变量,不然n的值每次都会更新。
递归就介绍到这,后期还会继续更新
下一篇: 递归整理