假设存在具有I和J尺寸的2D矩阵。 填补这一矩阵具有固定数量可以在两个方式来完成:填充二维数组函数的顺序是什么?
首先,有两个嵌套循环
for (int i=0;i<I;i++)
{
for (int j=0;j++;j++)
{
mat[i][j] = 123;
}
}
这是O(N 2)通过书。
谢胜利:带有单环
for(int k=0;k<I*J;k++)
{
mat[k/I][k % I] = 123;
}
这是一个为O(n)明显
然而这两种方法采取等于次以通过忽略环变种延迟来执行。
的更重要的标准:双方执行完全相同的时间和顺序
所以我们怎么能说一个是O(N2),另一个是O(N)?
我们可以说这两种方法都是O(n)吗?
它看起来就像是我们应该找到谢胜利,一个每增长速度是O(N)根据确定的增长率,但第一个仍然棘手。 – Zich