如何计算Traditional for循环的运行时间

时间:2014-05-12 03:29:44

标签: c++ for-loop

如何计算此传统for循环的运行时间:

for (i = 1; i < N; ++i) 
{ 
...statements that require exactly i operations... 
}

请有人关心解释?!!

3 个答案:

答案 0 :(得分:0)

这已被多次询问过......

取自Complexity and Big-O Notation

  

循环执行N次,因此语句序列也会执行   N次。由于我们假设语句是O(1),所以总时间为   for循环是N * O(1),总体上是O(N)。

基本上,确定for循环的时间是不可能的。有多少时间需要花费多少时间。例如:

  1. 阵列的大小。
  2. 您正在循环的对象是什么?
  3. 你在循环中做了什么,可能会影响完成每个循环的时间复杂度?
  4. 等等。

    如果您希望专门计算for loop所需的时间,那么您需要添加一些确定每个循环之间的时间的内容,无论您尝试编写代码的语言是什么。

    顺便说一句,您正在index 1开始for循环,跳过第一个index 0

答案 1 :(得分:0)

对于这些类型的问题,您应该做的是查看循环将根据输入执行多少次迭代。例如,

for (i = 1; i < N; ++i);

此for循环将迭代N - 1次,因为i从1开始,循环在i == N时终止。

答案 2 :(得分:-1)

Google不会咬你:

http://www.tutorialspoint.com/c_standard_library/time_h.htm

先看,然后问。