全心思齐网

递归与循环有什么区别?

递归是函数体中调用自己,如果不加控制,将无休止的调用自己,直到堆栈溢出。

循环是反复执行某一段区域内的代码,如果不加控制,就会形成死循环。所以不管是递归还是循环,都要设定一定的条件,以结束递归或循环。

实际问题中,有一些问题是递归的,这样的问题使用递归程序解决感觉会自然些,程序也会简单些,但是,递归要经常调用函数,开销(内存、时间)大,有些问题就不适宜使用,循环不需要调用自身,甚至可以不调用函数,效率高,不过,要将递归问题改成非递归,可能就要动动脑筋

匿名回答于2019-07-28 17:38:45


相关知识问答