For loop 大O和通用时间单位?
我有两个问题,我想我知道如何回答(问题后的答案)。我只是想看看我是否了解时间复杂度计算以及如何找到BigO。For loop 大O和通用时间单位?,for-loop,big-o,For Loop,Big O,我有两个问题,我想我知道如何回答(问题后的答案)。我只是想看看我是否了解时间复杂度计算以及如何找到BigO。 泛型形式只是表达式右侧每个值的乘积。 BigO是多项式中的最大幂。这种想法正确吗 int sum = 0; for (int i = 0; i < n; i++) for (int j = 0; j < n * n; j++) for (int k = 0; k < 10; k++) sum += i; int和=0; 对于(int
泛型形式只是表达式右侧每个值的乘积。
BigO是多项式中的最大幂。这种想法正确吗
int sum = 0;
for (int i = 0; i < n; i++)
for (int j = 0; j < n * n; j++)
for (int k = 0; k < 10; k++)
sum += i;
int和=0;
对于(int i=0;i
这段代码需要多少通用时间单位?n(n^2)*10
这段代码的主要运行时间是什么?是的,你的理解是正确的。但有时你也要处理对数项。
看待对数项的方法可以是将其视为n^(1+ε)。其中ε是一个小数量。是。基本上,大O的定义是,时间单位(你称之为时间单位)由一个恒定的时间表达式(从某个(任意高的)自然数到无穷大)限定。用更数学的表示法,这是: 函数f(n)是O(g(n)),如果存在一个常数C和一个数n,使得f(n)
更多信息请参见此处:有趣的是,我想知道,如果它是对数的,那会怎样?我不太理解它。@LF4:好吧,这里有一个简单的解释。您知道log(n)介于O(n)和O(n^2)之间。我们这样做的方式是将log(n)作为n^(1+e),其中e是一个非常小的量。这解释了一切。