你如何計算每行代碼將要執行的操作次數。大O操作數
例子。
Algorithm find2D (A,x)
arrLength = A.length
for j <- 1 to arrLength – 1 do
for k <- 1 to arrLength – 1 do
if A[j][k] = x then
return true
increment k
increment j
return false
我想出了這個僞代碼。所以我不確定如何計算每行代碼所需的操作次數。
所以,像第一個循環將是1 + n操作,因爲您必須設置j,比較j到arrLength - 1,它會循環n-1次。這樣就給你n-1 + 1 + 1這是n + 1的操作。
因此,對於第二個循環,即使其嵌套,它也是同樣的東西。
我對A[j][k] = x
比較有點困惑,會有多少操作。
謝謝。
比較通常被認爲是1點的操作,並且因爲你在陣列中與所有其他項目進行比較的每個項目該比較將被稱爲N^2倍(最壞情況)。 – Lithium 2011-01-20 21:28:15