社区讨论

关于循环展开的时间复杂度

学术版参与者 8已保存回复 11

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
11 条
当前快照
1 份
快照标识符
@lpp17eyj
此快照首次捕获于
2023/12/03 13:18
2 年前
此快照最后确认于
2023/12/03 15:33
2 年前
查看原帖
如果有一个循环
CPP
long long ans = 0, n = 1e9;
for (long long i = 1; i <= n; ++i) {
    ans += i;
}
改写为
CPP
long long ans = 0, n = 1e9;
for (long long i = 1; i <= n; i += 5) {
    ans += i;
    ans += (i + 1);
    ans += (i + 2);
    ans += (i + 3);
    ans += (i + 4);
}
那么循环展开时间复杂度是 O(n)O(n) 还是 O(n5)O(\dfrac{n}{5})

回复

11 条回复,欢迎继续交流。

正在加载回复...