问题描述
我对时间复杂度的了解是,它测量了否。关于输入执行的操作的数量。 例如
code{
for(int i=0;i<n;i++){ // n opertions
print(array[i]);
}
for(int i=0;i<n;i++{ // n operations
print(array[i}
}
}
如果每个循环执行n次操作,则总数为n。执行的操作数将是2n对吗? 为什么不将其包括在时间复杂度中?我的意思是为什么在O(n)中忽略2而不是O(2n)
如果n = 5,则第一个for循环将执行5个操作,第二个将执行5个操作,因此总共将执行10个操作。 如果n = 10,则第一个循环将执行10个操作,第二个循环将执行10个操作,因此总共将执行20个操作,即2n。 以上没有无论您的计算机执行速度有多慢,操作数都不会改变。执行的操作数为2n。 然后我的问题是为什么用O(n)而不是O(2n)。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)