71得票8回答
一个嵌套循环的时间复杂度是什么,其中内部循环的迭代次数由外部循环的当前迭代决定?答案是:Big-O。

以下嵌套循环的时间复杂度是多少: for (int i = 0; i < N; i++) { for (int j = i + 1; j < N; j++) { System.out.println("i = " + i + "...

68得票8回答
list::size() 真的是 O(n) 吗?

最近注意到有人提到 std::list::size() 的复杂度为线性。 根据某些资料,事实上这是与实现相关的,因为标准并没有规定复杂度应该是什么。 在这篇博客文章中的评论说:   实际上,这取决于你使用哪个STL。Microsoft Visual Studio V6将size()实现为 ...

68得票8回答
哪个更好:O(n log n)还是O(n^2)?

好的,我有一个项目需要完成,但我不理解它。问题是我有两个算法:O(n^2)和O(n*log2n)。 无论如何,在项目信息中我发现如果n<100,那么O(n^2)更有效率,但如果n>=100,那么O(n*log2n)更有效率。我应该使用数字、文字或绘制图片的方式演示一个例子。但问题是...

66得票10回答
嵌套for循环的时间复杂度

我需要计算以下代码的时间复杂度:for (i = 1; i <= n; i++) { for(j = 1; j <= i; j++) { // Some code } } 这是O(n^2)吗?

65得票6回答
在Python中,list.index(x)的复杂度是什么?

我指的是这个页面:http://docs.python.org/tutorial/datastructures.html list.index(x)函数的时间复杂度是多少,用大O符号表示?

65得票6回答
递归函数的空间复杂度

给定以下函数:int f(int n) { if (n <= 1) { return 1; } return f(n - 1) + f(n - 1); } 我知道大O时间复杂度为O(2^N),因为每次调用函数都会调用两次。 我不理解的是为什么空间/内存复杂度为O(N)?

63得票4回答
为什么HashMap查找时间复杂度是O(1),也就是常数时间?

如果我们从Java的角度来看,那么我们可以说哈希表查找具有常数时间。但是内部实现呢?它仍然需要在特定存储桶(其键的哈希码匹配)中搜索不同的匹配键。那么为什么我们会说哈希表查找具有常数时间?请解释。

62得票6回答
一个O(n)的算法在计算时间上是否可能超过O(n^2)?

假设我有两个算法:for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { //do something in constant time } } 这个自然是O(n^2)的。假设我还有:for (int ...

62得票2回答
什么是O(log(n!)),O(n!)和Stirling近似公式?

什么是O(log(n!))和O(n!)?我认为它是O(n log(n))和O(n^n)?为什么? 我认为与Stirling's approximation有关,但我不太明白解释。 我对O(log(n!)=O(n log(n))错了吗?如何用更简单的术语解释数学问题?实际上,我只是想知道这是...

61得票7回答
为什么在大O分析中常数总是被忽略?

我正在尝试理解在PC上运行程序的Big O分析中的一个特定方面。 假设我有一个性能为O(n + 2)的算法。在这种情况下,如果n变得非常大,则2变得微不足道。在这种情况下,真正的性能是O(n),这很清楚。 然而,还有另一个算法,平均性能为O(n2 / 2)。我看到这个例子的书中说,真正的性...