gpt4 book ai didi

java - 计算代码的 BigO

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

我在网上阅读了一篇文章。根据我的理解,以下代码的 BigO 应该是 O(n)。因为循环运行了 n 次。但是文章中的正确答案显示为 O(1)。带说明

The code declares exactly 4 variables: i, j, k and t. 4 = constant = O(1).

如何?

根据我的理解,循环运行 n 次因此 O(n)

int fibonacci(int n)
{
int i = 0, j = 1, k, t;
for (k = 1; k <= n; ++k)
{
t = i + j;
i = j;
j = t;
}
return j;
}

附上截图 enter image description here

最佳答案

您将内存复杂度误认为是时间复杂度。该算法的时间复杂度为O(n)。但是,内存,有时称为空间,算法的复杂度为 O(1),因为分配了 4 个变量。

关于java - 计算代码的 BigO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45821207/

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