Time complexity 时间复杂度练习(伪代码)

Time complexity 时间复杂度练习(伪代码),time-complexity,big-o,Time Complexity,Big O,刚开始数据结构。在这件事上被卡住了: 我在内部while和for循环中遇到了问题,因为如果N个数是奇数或偶数,它就会改变 我最好的情况是-内部for循环运行logn(基2)次, 和while循环logn时间(基数2) 希望得到一些帮助。集中精力了解调用了多少次do\u something() 外部for循环清楚地运行n次,内部而循环独立于变量i。因此,调用do_something()的次数是while循环中调用它的总次数的n倍 在第一次通过while循环时,dou\u something()被

刚开始数据结构。在这件事上被卡住了:

我在内部while和for循环中遇到了问题,因为如果N个数是奇数或偶数,它就会改变

我最好的情况是-内部for循环运行logn(基2)次, 和while循环logn时间(基数2)


希望得到一些帮助。

集中精力了解调用了多少次
do\u something()

外部
for
循环清楚地运行
n次
,内部
循环独立于变量
i
。因此,调用
do_something()
的次数是
while
循环中调用它的总次数的
n倍

在第一次通过
while
循环时,
dou\u something()
被调用一次。第二次叫两次,第三次叫四次,以此类推

因此,调用它的总次数为

1 + 2 + 4 + 8 + ... + 2^(k-1)

其中
k
是最大值,因此
2^(k-1)您试图给出一个大O,而不是操作数的精确计数。偶数对奇数不重要。无论如何,如果你想得到家庭作业方面的帮助,你应该包括你试图解决的问题。我补充了我的最佳猜测。我只是需要一些指导。您是否介绍了如何计算总和
1+2+2^2+2^3+…+2^(k-1)