递归函数在许多情况下都是有效的,并且在实现算法中广泛使用,如:
与传统算法相比,递归函数O(logn)或O(nlogn)的时间复杂度低,易于用我们的思维方式进行分析。
但是,如果我们讨论为更复杂的任务编写递归函数的复杂性,那么我们的思维逻辑就很难分析它是如何完美工作的。
这里的问题是,这是否意味着编写一个复杂的函数的模式就像计算机如何工作比我们的大脑如何思考计算机的工作效率更高?!

发布于 2022-01-05 07:21:40
递归表示的每个程序也可以迭代表示。Python不支持尾调用优化,因此这里不考虑尾调用优化。因此,最佳算法将不取决于这种选择,只取决于它的具体实现。
高度优化的代码往往难以理解,因为计算机和头脑的工作方式非常不同。因此,如果您对其中一个进行了强优化,则可能会牺牲另一个的性能。你需要在两者之间做出妥协,如果可能的话,你更倾向于可读性,如果严格需要的话,你只需要选择计算性能。
https://stackoverflow.com/questions/70588668
复制相似问题