【发布时间】:2013-11-14 16:36:06
【问题描述】:
我试着尽快问一下:
我有一个算法,作为一个函数,我们称之为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)?
【问题讨论】:
-
时间复杂度是一种概念工具,可帮助您思考算法。我不确定尝试使用计时器(如果可能的话)确定它是否有用。
-
@Wilbert 我需要在我的作业中这样做
-
@Wilbert - 如果您有 2 个黑盒算法(例如 lib 函数),并且您想渐近地发现哪个更好。
标签: performance algorithm runtime time-complexity asymptotic-complexity