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

how to calculate the run time of a Traditional for loop

本文关键字:for 循环 运行时间 传统 何计算 计算      更新时间:2023-10-16

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

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

拜托,有人愿意解释一下吗?!!

这个问题在SO上已经问过很多次了…

取自复杂度和大o符号:

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

所以基本上,不可能确定for循环所花费的时间。这需要多少时间是有人为因素的。例如:

  1. 数组大小。
  2. 你正在循环的对象是什么?
  3. 你在循环中做了什么会影响完成每个循环的时间复杂度?

等。等。

如果你想具体计算for loop所需的时间,那么你需要添加一些东西来确定每个循环之间的时间,无论你试图用什么语言编写代码。

顺便说一下,你从index 1开始你的for循环,跳过第一个index 0

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

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

这个for循环将迭代N - 1次,因为i从1开始,循环在i == N .

时终止。

Google不咬你:

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