performance - 哪种方法更好 : space versus time complexity

标签 performance algorithm time-complexity space-complexity

我有一个算法(非常基础),为此我有两个解决方案,两个的复杂性是: 方法一:

Space complexity: O(n)
Time Complexity : O(n)

方法二:

Space complexity: O(1)
Time Complexity : O(nlogn)

选择哪种方法,我正在寻找这种情况下的最佳实践。

编辑 1:我的输入无限大。

最佳答案

算法评估绝对取决于问题。

例如,如果您的 n < 2^30,您的方法 1 可能会很棒在这种情况下,您的算法将使用 2^30 的其余部分消耗空间中的位数。

方法 2 将更具可扩展性,因为它不需要任何主要的额外内存。对于某人来说,等待结果的时间更长( nlognn^2 好)比让本应正常工作的系统崩溃更好。

因此,这完全取决于您的要求。

关于performance - 哪种方法更好 : space versus time complexity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29522094/

相关文章:

android - 为什么在缩放手势期间调用 setScaleX 会导致闪烁?

php - 为什么 php 4.3 中的 bcmath 比 php 5+ 快得多?

algorithm - 这段代码的时间复杂度是多少?

algorithm - 大 theta 介于大 o 和大 omega 之间,还是既是大 o 又是大 omega?

mysql - 在 MySQL 中进行模式匹配的有效方法是什么?

python - 找到这些向量之间相似性的最佳方法是什么?

ruby - 多算法迷宫构建器的特定数据结构

algorithm - Facebook 黑客杯 : Power Overwhelming

python - 这个递归算法的复杂度是多少?

r - 提高大型矩阵中加权 Jaccard 计算的性能