在b站看了王卓老师数据结构的视频,发现老师画树的方法来分析递归真的特别容易理解,所以用树又画了一份过程,毕竟用栈理解实在太绕了
写到一道关于递归的题,突然发现自己学了这么长时间。。连递归的调用过程都没整明白。。。实在惭愧,于是上网查了一下调用过程,看的我懵懵懂懂,似懂非懂
于是我选择,找一个合适的代码,自己一步步调试,然后手动模拟整个递归过程
差点写到吐血
以下放上我整理好的递推详细过程,开头是根据过程整理好的递推规律,(有问题欢迎指正)
代码如下:
```cpp
void count(int n){
if(n>0){
cout<<"执行前n1:"<<n;
count(n-1);
cout<<"执行后n1:"<<n;
count(n-2);
cout<<"执行后n2:"<<n;
}
cout<<"最后输出"<<n;
}
int main(int argc, char **argv)
{
count(4);
return 0;
}
过程详解如下: