我试着环顾四周,看看是否可以回答我的答案,但我没有偶然发现什么可以帮助我。
在处理运行时复杂性时,您是否考虑了操作数?根据我对处理运行时间的理解,每个不同的操作数都可能花费 x 时间,所以只计算循环给你下限?如果这是不正确的,请您向我解释我的逻辑错误的地方。
例如:
for (i=0;i<n;i++)
for (j=0;j<n;j++)
a[i,j]=b[i,j]+c[i,j]
只是 O(n^2) 对吗?还是因为加法操作数而成为 O(a*n^2) ?并且您使用“O”作为运行时间通常正确吗?
例如:
for (i=0;i<n;i++)
for (j=0;j<n;j++)
a[i,j] -= b[i,j] * c[i,j]
会再次成为 O(n^2) 对吗?还是会因为减法和乘法运算而成为 O(a^2*n^2) ?
谢谢堆栈!