什么情况下要用到递归算法?C语言中的

如题所述

在一个子程序(过程或函数)的定义中又直接或间接地调用该子程序本身,称为递归。
递归是一种非常有用的程序设计方法。用递归算法编写的程序结构清晰,具有很好的可读性。
递归算法的基本思想是:把规模大的、较难解决的问题变成规模较小的、易解决的同一问题。规模较小的问题又变成规模更小的问题,并且小到一定程度可以直接得出它的解,从而得到原来问题的解。
利用递归算法解题,首先要对问题的以下三个方面进行分析:
把这些步骤或等式确定下来。 把以上三个方面分析好之后,就可以在子程序中定义递归调用。记得C里面有一个汉诺塔,就是非用递归才能解决的一个问题!可以仔细理解一下哦!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-15
这个太多了
举几个例子:
计算斐波那契数,阶乘,全排列,遍历二叉树,DFS,BFS。。。。
这个比较多
一般情况下,递归都能转换为非递归的写法