程序设计报告1——递归
递归的原理
通俗来说,一个函数调用自身就是递归。
递归是纵向地解决问题,是一种思维方式。
树
用树来刻画是最为直观的。
在分析问题时可以画一画递归树,从而有个更好的理解。
函数
其实在求解问题时,可以把递归当作一个有边界,封闭的函数。
例如需要求\(f_n\),而\(f_n=\sum_\limits{i=1}^{n-1} f_i\),那就可以将问题转变为\(n-1\)个子问题。
如果知道边界,那么递归就是可行的了。
栈
在程序内部,递归的实现是利用栈的。因此,可以用手动模拟栈来代替函数递归。
stack qwq
while(!qwq.empty()){
auto awa=qwq.top()
if(!next[awa].empty()){
qwq.push(next[awa].top()),next[awa].pop()
}
else qwq.pop()
}
最后留一个小练习题
给第一篇题解一个赞谢谢啦
不是现实支撑梦想,而是梦想支撑现实