2016 - 2024

感恩一路有你

递归和for循环哪个效率高 循环和递归哪个效率高?

浏览量:1727 时间:2021-03-17 08:10:44 作者:admin

循环和递归哪个效率高?

对于已知和可预测的情况,请使用循环而不是递归。例如,如果你使用一个没有任何路径搜索算法的循环,如果你不能走出你的生活,你将需要递归。例如,如果你用递归代替循环,你一定是疯了。好的和坏的算法没有区别。这取决于你在哪里使用它,以及你是否能合理地使用它

在同样的条件下,循环更好。递归涉及更多的内存操作,如变量堆栈压出,太多的递归可能导致内存溢出。递归在函数体中调用自己。如果不受控制,它将继续调用自身,直到堆栈溢出。循环是区域内一段代码的重复执行,如果不加以控制,就会形成死循环。所以无论是递归还是循环,都必须设置一定的条件来结束递归或循环。在实际问题中,有一些问题是递归的。用递归程序来解决这样的问题会感觉更自然,程序也会更简单。然而,递归经常调用函数,并且开销(内存、时间)很大。有些问题不适合使用。循环不需要自己调用,甚至不能调用函数,效率很高。但是,递归应该改为非递归递归,递归是子程序调用,需要耗费大量的空间和时间。

几乎任何时候,对于相同的问题,循环/迭代都比递归更有效。递归只是从形式上来说,逻辑很简单。

循环和递归哪个效率高?

既然您想用简单的白话来解释递归算法,我就给您解释一下,以确保您理解。

有个熟悉的故事,正好可以解释递归。

这个故事不断地调用自己,递归是一个函数多次调用自己。不同的是递归不能像这个故事那样多次调用自己。递归必须有终止条件,它将在多次调用后终止。

这个解释很口语化。

递归和for循环哪个效率高 循环和递归哪个性能好 递归和循环哪个快

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。