gpt4 book ai didi

algorithm - 嵌套 for 循环时间复杂度与函数调用

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:15:27 24 4
gpt4 key购买 nike

 for(i = 1; i < a; i++){
for(j = 1; j < b; j = j + 3){
if((i+j) % 2 == 0)
Func()
}
}

在这种情况下,我认为是 O(a*b)Theta(a*b)

我是否正确分析了复杂性?

最佳答案

首先,你,大概是说

 if ((i + j) % 2 == 0)

代替

 if (i + j % 2 == 0)

因为当 i时,j % 2 非负 那么 i + j % 2正数,因此 i + j % 2 从不 等于零:Func() 根本不运行。

你的答案是正确的:复杂度是

 a *      // from the first loop
b / 3 * // from the second loop
1 // from the condition (it always true)

所以你有

 Θ(a * b / 3 * 1) = Θ(ab)

关于algorithm - 嵌套 for 循环时间复杂度与函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41701232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com