目前性能最好的笔记本 递归与循环有什么区别?
浏览量:2238
时间:2021-03-12 04:38:56
作者:admin
递归在函数体中调用自己。如果不受控制,它将继续调用自身,直到堆栈溢出。循环是区域内一段代码的重复执行,如果不加以控制,就会形成死循环。所以无论是递归还是循环,都必须设置一定的条件来结束递归或循环。在实际问题中,有一些问题是递归的。用递归程序来解决这样的问题会感觉更自然,程序也会更简单。然而,递归经常调用函数,并且开销(内存、时间)很大。有些问题不适合使用。循环不需要自己调用,甚至不能调用函数,效率很高。但是,递归应该改为非递归返回,你可能需要动脑筋
对于已知和可预测的情况,使用循环而不是递归。例如,如果您使用循环而不使用任何路径搜索算法,那么如果您无法走出您的生活,您将需要递归。例如,如果你做了一个加1到100的算法,你不需要使用循环而不是递归,你的大脑一定会被淹没。好的和坏的算法没有区别,只是取决于你在哪里使用它,以及你是否能合理地使用它
速度取决于要执行的任务,这与递归和循环无关。例如,递归可以用while实现,循环也可以用递归实现。由于调用子函数需要额外的内存开销,在相同任务的情况下循环通常更快(基本上没有区别)。
递归与循环有什么区别?
循环和递归哪个效率高?
递归与循环哪个执行的速度更快?
在相同条件下,循环更好。递归涉及更多的内存操作,如变量堆栈压出,太多的递归可能导致内存溢出。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。