我用append()Java 编写了一个函数,我需要通过 O(N) 和 Θ(N) 来分析它的运行时复杂性。
这是原始问题:
假设
append()的运行时复杂度为t = O(N),则意味着t也可以用 来表示t = C*N。(作为C一个常数)因此
(t / N) = C。如果,例如,
t = O(N^2),那么(t / N^2) = C等等。使用此方法查找
append()运行时复杂性。
所以我append()为 3 个不同的 s 跑了 N 次N:1,000, 5,000, 10,000.
long start = System.currentTimeMillis();
for(i = 0; i < N; ++i) {
append();
}
long end = long start = System.currentTimeMillis();
System.out.println(end - start);
我写下了end-start以毫秒为单位的运行时间。
现在,我如何使用这些信息来获得时间复杂度append()?
提前致谢!