我试着很快问它:
我有一个算法,作为一个函数,我们称之为f
:
void f(int[1..N]) {
// algorithm goes here
}
现在,我有real runtime
一个N
输入。
请假设该函数time()
以毫秒为单位返回当前系统的时间。
int[1...N] n;
unsigned long start = time(), end;
f(N);
end = time();
printf("Real runtime: %ul", end - start);
所以换句话说,我知道f
参数会运行多少毫秒N
。
通过这些信息,我如何计算f(N)
运行时间复杂度,即f = O(N)
?