[问题] 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