我正在分析算法并停留在for and while loop
假设我们有一个for循环,带有
for (int i=0; i<n; i++)
所以分配i = 0
= 1
i < n = n+1
(它将运行n次,最后一次检查循环为假的结果为n + 1)
这里是混乱
i++
-> i ++也将运行n次,但它执行两项不同的工作,即增量和赋值。是2n还是n?
相同于while循环中
while (i<n):
将为2n吗?
我正在研究Big O。
谢谢
通常,一项分配等同于一项操作或“步骤”。这是因为通常使用常数无关紧要的big-O notation来测量算法的渐近运行时间。
我通常将i++
视为一项操作。因此,为回答您的问题,假设所有这些循环都以i
为增量,则运行时将为O(n)
。但是,即使您将其计算为两个,运行时仍将是O(n)
。