[問題] Big O running time

作者: triumphant10 (yu12510)   2019-03-18 17:10:54
sum = 0
for (i = 0; i < n; i++){
for (j = 1; j < i*i; j++){
if (j%i == 0){
for (k = 0; k < j; k++){
sum++
}
}
}
}
大家好
我計算出來的 running time 是 O(N^4),不曉得對不對
以及
如果if條件句是False的話,也必須計算它的次數
那麼正確的寫法應該是甚麼?
因為我只有計算他正確執行時所耗的時間!
麻煩各位了!
謝謝!
作者: OhYiDay (小白Z)   2019-03-18 17:19:00
這是不是台聯大轉學考某年考題啊?!
作者: triumphant10 (yu12510)   2019-03-18 17:23:00
是喔XD 我不知道耶
作者: sarafciel (Cattuz)   2019-03-18 22:43:00
你走錯版了 C跟C++的程式碼是要宣告明確形態跟分號的
作者: IhateOGC (我討厭)   2019-03-18 22:55:00
N^2 ....
作者: CoNsTaR ((const *))   2019-03-19 08:05:00
O(n^4) 是怎麼算的...你在 prob_solve 也有問,如果是學校要的答案的話會是 O(n^2) 不是那邊講的 O(1)那個版在討論的是問題的複雜度,不是你程式本身的複雜度
作者: OhYiDay (小白Z)   2019-03-19 09:47:00
這題跟台聯大106計概轉學考14題 一模一樣 如果我沒看錯的話 可是答案的確是O(N^4)耶
作者: triumphant10 (yu12510)   2019-03-19 14:47:00
抱歉,我發錯版。可以問一下Co大 O(N^2)是如何計算的嗎?
作者: loveme00835 (髮箍)   2019-03-19 15:27:00
到第 2 層 for 已經是 N^3, N^2 到底怎麼算的?
作者: CoNsTaR ((const *))   2019-03-19 18:26:00
抱歉 是我沒有認真看題目 orz
作者: triumphant10 (yu12510)   2019-03-19 19:35:00
沒4沒4
作者: IhateOGC (我討厭)   2019-03-21 09:04:00
我數學好爛@@

Links booklink

Contact Us: admin [ a t ] ucptt.com