如何计算此传统for循环的运行时间:
for (i = 1; i < N; ++i)
{
...statements that require exactly i operations...
}
请有人关心解释?!!
答案 0 :(得分:0)
这已被多次询问过......
取自Complexity and Big-O Notation:
循环执行N次,因此语句序列也会执行 N次。由于我们假设语句是O(1),所以总时间为 for循环是N * O(1),总体上是O(N)。
基本上,确定for循环的时间是不可能的。有多少时间需要花费多少时间。例如:
等等。
如果您希望专门计算for loop
所需的时间,那么您需要添加一些确定每个循环之间的时间的内容,无论您尝试编写代码的语言是什么。
顺便说一句,您正在index 1
开始for循环,跳过第一个index 0
。
答案 1 :(得分:0)
对于这些类型的问题,您应该做的是查看循环将根据输入执行多少次迭代。例如,
for (i = 1; i < N; ++i);
此for循环将迭代N - 1
次,因为i
从1开始,循环在i == N
时终止。
答案 2 :(得分:-1)