猿问

请问实现递归算法的方法的运行流程

C#的一个简单递归方法:

1 private int GetFactorail(int baseNum)
2         {
3             if (baseNum == 0)
4                 return 0;
5             else if (baseNum == 1)
6                 return 1;
7             else
8                return baseNum * GetFactorail(baseNum - 1);
9         }

请教下这个方法在运行时的循序流程,就是说这个方法都经过哪几步算出来最后结果的,或者高人们给指点指点要看哪些资料了解这方面的知识!

呼唤远方
浏览 441回答 2
2回答

缥缈止盈

设置断点F11一行行调试就明白了。每次会把传入的参数循环减等到1或0退出来和前循环参数相乘。 Response.Write(GetFactorail(0)); Response.Write(GetFactorail(1)); Response.Write(GetFactorail(2)); Response.Write(GetFactorail(3)); Response.Write(GetFactorail(4)); Response.Write(GetFactorail(5));》》012624120

幕布斯7119047

上数据结构课时,老师曾经教过我构建一个简单的堆栈来分析递归调用过程,你也不妨试试这种办法。
随时随地看视频慕课网APP
我要回答