ACM-递归递推练习总结

来源:互联网 发布:知乎 风扇灯什么牌子好 编辑:程序博客网 时间:2024/05/29 18:02

(欢迎阅读我的博客,如发现错误或有建议请评论留言,谢谢。)

递归解决问题,是将一个大型的复杂问题层层转化为一个与原问题相似的小问题来求解;

递推解决问题,是找到问题前后过程之间的联系,使复杂运算转变为若干步重复的简单运算;

所以说,对于递归递推问题,最重要的就是要找到问题之间存在的关系(一般这个关系存在于前后几个状态之间),写出转移方程,规定出边界点,然后写程序就比较简单了。

对于递归问题,它使用函数自身调用的方式,让程序可读性提高,但是在函数调用的时候会产生不小的开销,如果递归次数过多,就会浪费很多的时间,对于这一点,我们应该注意在使用递归函数时采用记忆化搜索的办法,将每次递归的结果储存起来,每次递归前若结果之前已经求出就直接输出,这样就大大节省了时间(例如ACM-递归递推练习C题)。

0 0
原创粉丝点击