我有一个算法(非常基本),我有两个解决方案,两个的复杂性是: 方法1:
Space complexity: O(n)
Time Complexity : O(n)
方法2:
Space complexity: O(1)
Time Complexity : O(nlogn)
选择哪种方法,我正在寻找这种情况下的最佳实践。
编辑1 :我的输入无限大。
答案 0 :(得分:1)
算法评估肯定取决于问题。
例如,如果您的n < 2^30
{<1}}您的算法将使用剩余的2^30
位消耗,那么方法1 可能会很棒。
您方法2 将更具可扩展性,因为它不需要任何主要的额外内存。对于某人来说,等待一段时间(nlogn
优于n^2
)比使应该工作的系统崩溃更好。
所以,这一切都取决于你的要求。