【算法复杂度】 怎么计算的?此算法的算法复杂度是?for 循环 2的N次方for 循环 N的平方endfor 循环 Ne

【算法复杂度】 怎么计算的?
此算法的算法复杂度是?
for 循环 2的N次方
for 循环 N的平方
end
for 循环 N
end
end
2.此算法的算法复杂度是?
for 循环 2的N/2次方
for 循环 N的平方
end
for 循环 N
end
end
这种循环套循环的 算法复杂度怎么算的啊?刚学,求上面2题的答案以及解释,
kpzhy 1年前 已收到1个回答 举报

vhfldufo 种子

共回答了20个问题采纳率:85% 举报

大循环嵌套两个并列的循环,一个是n阶,一个是n^2阶,n阶对于n^2阶来说,可以忽略,被吸收.所以总体复杂度是:O(n^2*2^(n/2))

1年前 追问

6

kpzhy 举报

这是两道题。。 >.<

举报 vhfldufo

我理解错了,你说求上面2题的答案以及解释,我认为是求上面第2题的答案以及解释了。
有了第2题的,第1 题可以同样解决。
第1 题是大循环嵌套两个并列的循环,2个都是n阶。
所以总体复杂度是:O(n*2^n)

kpzhy 举报

你有看错了... 按照你的解释,第一题不应该是 O(N*2 * 2^N) 吗?

举报 vhfldufo

不对,里面的两个循环是并列的,不是嵌套关系,里面是2*n阶,不是n^2阶。而2*n阶和n阶是一回事,所以第1题的复杂度只能是:O(n*2^n)

kpzhy 举报

就是N的平方…

举报 vhfldufo

对不起,是我看错了,第1题和第2题一样,也是一个n^2和一个n阶并列,当然复杂度是:
O(N*2 * 2^N)
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.228 s. - webmaster@yulucn.com