c - 如何计算这个的复杂性?

标签 c algorithm complexity-theory

int foo(int n)
{
    int sum = 0;
    for(int k=1; k <= n; k = k * 2) 
    {
        sum += k;
    }
    return sum;
}

我有以下功能。 现在,根据我的说法,foo(n) 的运行时复杂度应该是 big-o(logn)。 现在,我被要求找出 foo(n*n*n*n) 的运行时复杂度。应该是什么? 根据我的说法,它应该只是 big-o(logn)。 我这样说对吗?

最佳答案

它是 O(log n4) → O(4 log n) → O(log n)

关于c - 如何计算这个的复杂性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25842573/

相关文章:

java - 在内存限制内对单词进行排序

string - 查找字符串的子字符串,使得子字符串的长度与其出现次数的乘积最大化

ruby - Ruby 组合函数的顺序复杂度

c - 在c中使用枚举形成位图

c - 无约束内联汇编的引用变量

c - 汉字加密失败

c - 结构体数组在内存中的布局

algorithm - 3d 装箱算法

algorithm - 这种最坏情况分析是否正确?

php - 领域驱动设计 : Handling complex entities with many states and relations (Real Estate)