2个代码的执行时间的数目将不同
the number of execution time of 2 code will differ?
我想知道这两段代码会执行多少次。它们都是n次,还是其中一个是n+1?
int sum=0;
for (int i = 1; i <= n; i++)
sum = sum + i;
和
int sum=0;
for (int i = 1; i <= n; ++i)
sum = sum + i;
有人帮我吗?
编辑Sınce我收到了很多差评。我决定说出我问这个问题的真正意图。
int sum = 0;
for (int i = 1; i <= n; ++i)
sum = sum + f1(i, n);}
int f1(int x, int n) {
int sum = 0;
for (int i = 1; i <= n; i++)
sum = sum + i;
return (x + sum); }
这个代码片段的确切复杂性是O(n*(n+1)),我想了解为什么有(n+1)而不是O(n*n)
无论使用哪一个,程序输出都是相同的;CCD_ 1和CCD_ 2不是CCD_ 3循环中的终止条件,而是在每次迭代结束时评估的语句。
然而,请注意,++i
永远不会比i++
慢;因为从概念上讲,必须对后者进行对象复制。不过,一个好的编译器会优化副本。
风格要点:请缩进sum = sum + i;
行;否则很难阅读。
我认为代码的复杂度是O(n^2)。n+1的循环在复杂性上并不重要。O(n+1)=O(n-1)=O。
相关文章:
- 需要减少我的C++代码的执行时间
- 视觉在C 中获取每行代码的执行时间
- 测量执行时间 - 在程序代码或外壳中
- 第一次在 Linux 上执行 c++ 代码的时间非常慢
- 最佳C 11测量嵌入式系统代码执行时间的方法
- 两个代码段之间执行时间的奇怪差异
- 预先设置c++代码的执行时间
- 为什么要在我的OpenMP代码中增加执行时间
- 如何减少以下代码的执行时间
- 执行代码的时间百分比为x
- 2个代码的执行时间的数目将不同
- 在 OpenMP 代码C++测量执行时间
- 如何减少以下代码的C++执行时间
- 当我从Java代码执行C++程序时,我应该如何测量它的执行时间
- C++和Haskell代码在不同机器上的执行时间不同
- 有什么方法可以减少这个代码的执行时间吗
- 英特尔TBB代码有不同的执行时间在windows和linux
- 如何获得一个c++代码段执行时间的客观评价
- 如何在c++中获得一段代码的执行时间
- Linux中的代码执行时间