PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Prob_Solve
[問題] Big Oh running time
作者:
triumphant10
(yu12510)
2019-03-18 22:53:22
sum = 0;
for (i = 0; i < n; i++){
for (j = 0; j < i*i; j++){
if (j % i == 0){
for (k = 0; k < j; k++){
sum++;
}
}
}
}
大家好
這題的Big O 我算出來得到的是 O(n^4),不曉得對不對?
以及
想問一下各位都是如何去思考這種題目的?
如果要嚴謹一點的寫法該如何是好?
想問各位的思路
謝謝!
作者:
fatcat8127
(胖胖貓)
2019-03-19 01:49:00
你的程式碼可以以if的判斷式是否成立分兩部分簡化外圈的兩個for迴圈只有當j是i的倍數時才會進到if判斷判斷式內的k每次只會讓sum+1
https://www.codepile.net/pile/oGA3Lq73
1x2+(1+2)x3+(1+2+3)x4+(1+2+3+4)x5...的累加每項都是n*(n-1)/2,可以再化減成算式即可O(1)求值
作者:
triumphant10
(yu12510)
2019-03-19 02:21:00
謝謝你!我看懂了!
作者:
fatcat8127
(胖胖貓)
2019-03-19 10:04:00
我看到你在C++版的文發現好像誤會你的意思惹0.0
作者:
triumphant10
(yu12510)
2019-03-19 14:31:00
我有懂你想表達的,雖然不是我想問的XD 嘻嘻
繼續閱讀
[問題] DFS剪枝(已解決)
fatcat8127
[問題] 三維偏序(已解決)
fatcat8127
[問題] 一題現實中的問題
GYLin
Re: [問題] 烏龜塔問題
ddavid
[問題] 烏龜塔問題
nicknick0630
[問題] 請教 ZJ c824/c835 的01背包問題(已解決)
fatcat8127
[問題] 快速球協變換
j0958322080
[問題] 請教 zerojudge c260 的想法 (已解決)
vincent97198
[問題] UVA 10268 WA
BrunoBao
[問題] cascade如何分?
g318
Links
booklink
Contact Us: admin [ a t ] ucptt.com