首页 > 解决方案 > 算法上的原始操作

问题描述

我正在分析算法并坚持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吗?

我正在研究大 O。

谢谢

标签: javaalgorithmanalytics

解决方案


通常,一项分配等同于一项操作或“步骤”。这是因为通常使用与常量无关的大 O 表示法来测量算法的渐近运行时间。

我通常会算作i++一次手术。因此,要回答您的问题,假设所有这些循环都是 increment i,则运行时将是O(n). 然而,即使你把它算作两个,运行时间仍然是O(n).


推荐阅读