2011-08-06 44 views
-2
for i <--- 1 step i <--- 2* i while i< n do 
    for j <--- 1 step j <---2* j while j<n do 
    if j = 2*i 
     for k = 0 step k <--- k+ 1 while k < n do 
     .... CONSTANT NUMBER OF ELEMENTARY OPERATIONS 
     end for 
    else 
     for k<--- 1 step k<-- 3*k while k<n do 
     ...CONSTANT NUBER OF ELEMENTARY OPERATIONS 
     end for 
    end if 
    end for 
end for 

以下代碼片段作爲n的函數的運行時間是多少?給出下面的僞碼的精確和漸近的答案

'確切答案'是指在確定漸近運行時間之前與代碼有關的公式。

+2

爲了獲得確切的答案,您應該首先提問確切的問題... – Quasdunk

+0

以下代碼片段作爲n的函數的運行時間是多少? – Ice

+1

需要家庭作業標籤嗎? –

回答

0

這聽起來像家庭作業,但是,作出一些考慮,該僞代碼的漸近複雜性應爲O(n*log(n))

由於高度依賴於您的系統,您無法準確估計運行時間。

+0

它不是功課。它是一本書的練習。我得到一個不同的答案,這就是爲什麼。這本書沒有答案,所以我不知道如何仔細檢查自己。我實際上得到了不同的答案,併爲此歡呼。我會練習更多這些,但有時我會在漸近和確切答案之間獲得感知。你願意解釋一下這個區別嗎? – Ice