algorithm - 该伪代码的大 O 是什么?

标签 algorithm time-complexity big-o analysis pseudocode

x <--1
for i <--0 to n do
    k <-- i
   while k> 0 do
         x <-- x*2
         k <-- k-1
return x

是O(n)吗? while 循环会增加复杂度吗?

最佳答案

i = 0时,内循环运行0
i = 1时,内部循环运行1
i = 2 时,内部循环运行 2
i = 3 时,内部循环运行 3
...
i = n时,内部循环运行n
全部加起来:0+1+2+3+...+n = n*(n+1)/2
所以时间复杂度是O(n^2)

关于algorithm - 该伪代码的大 O 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55692444/

相关文章:

c - 为什么冒泡排序时间复杂度被称为 n 平方?

algorithm - 将不同的例程加在一起时的大 O

data-structures - 合并两个排序的链表——理解为什么它是 O(1) vs. O(N) 空间复杂度

algorithm - 在 BST 中寻找节点删除的后继者时,是否有两种答案?

algorithm - 请解释杂音散列?

algorithm - 这个 Scheme 求幂函数的时间复杂度是多少?

c++ - 在这种情况下我的时间复杂性偏执症是否合理?

R:分区排列的高效计算

java - Java 有向图中循环检测的代码简化

java - 解释一下为什么这个二叉树遍历算法的时间复杂度是O(NlogN)?