对于递归的理解

有很多时候我们可能会遇到使用递归的问题来解决问题,其中我感觉递归最重要的是把大的问题一步步地进行分解成小的问题

所以首先要对问题进行分割,其中可能涉及到了一些分割问题的技巧

其次,分割成小问题之后我们要确定递归的方法中的参数,有多少个变量在变化,需要传进方法中参数有多少,递归调用的时候参数该如何变化这些都是需要进行详细分析之后需要确定的(每个小问题处理的方法是一样的

第三个是递归是自己调用自己所以不可能无休止地调用,所以要设计递归的出口,这也就是问题的边界值,假如没有考虑完全可能会造成越界的问题

递归调用遇到出口调用完成之后,假如方法有返回值那么会将上一层的结果层层返回直到求解出一开始调用该递归函数的位置的结果,最终多次递归调用更新完成所要求解的结果之后返回(层层更新

猜你喜欢

转载自blog.csdn.net/qq_39445165/article/details/83063759