假設存在具有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