第1个回答 2010-05-16
递归好处多多啊。能解决很多复杂的问题,代码效率高。比如汉诺塔问题。缺点是存储空间开销大。
能不用就不用了。
第2个回答 2010-05-16
用递归对于解决一些问题很方便,有些问题必须使用递归,例如汉诺塔问题。
我们现在学的二叉树有些算法都是用递归写的,写很方便,只是感觉不好理解,得细细分析。总之,很方便,只是算法效率太低,时间复杂度太高,所以在可以是用非递归算法的情况下最好不要使用递归。
第3个回答 2010-05-16
递归是一些问题(例如上面两位提到的Tower of Hanoi、二叉树遍历、阶乘等)的自然模拟,好处是代码易读、易懂。
递归的缺点是代码效率低。因为递归需要额外的栈空间,当递归层次深的时候,效率代价比较明显。