递归和for循环哪个效率高 循环和递归哪个效率高?
循环和递归哪个效率高?
对于已知和可预测的情况,请使用循环而不是递归。例如,如果你使用一个没有任何路径搜索算法的循环,如果你不能走出你的生活,你将需要递归。例如,如果你用递归代替循环,你一定是疯了。好的和坏的算法没有区别。这取决于你在哪里使用它,以及你是否能合理地使用它
在同样的条件下,循环更好。递归涉及更多的内存操作,如变量堆栈压出,太多的递归可能导致内存溢出。递归在函数体中调用自己。如果不受控制,它将继续调用自身,直到堆栈溢出。循环是区域内一段代码的重复执行,如果不加以控制,就会形成死循环。所以无论是递归还是循环,都必须设置一定的条件来结束递归或循环。在实际问题中,有一些问题是递归的。用递归程序来解决这样的问题会感觉更自然,程序也会更简单。然而,递归经常调用函数,并且开销(内存、时间)很大。有些问题不适合使用。循环不需要自己调用,甚至不能调用函数,效率很高。但是,递归应该改为非递归递归,递归是子程序调用,需要耗费大量的空间和时间。
几乎任何时候,对于相同的问题,循环/迭代都比递归更有效。递归只是从形式上来说,逻辑很简单。
循环和递归哪个效率高?
既然您想用简单的白话来解释递归算法,我就给您解释一下,以确保您理解。
有个熟悉的故事,正好可以解释递归。
这个故事不断地调用自己,递归是一个函数多次调用自己。不同的是递归不能像这个故事那样多次调用自己。递归必须有终止条件,它将在多次调用后终止。
这个解释很口语化。
递归和for循环哪个效率高 循环和递归哪个性能好 递归和循环哪个快
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。