【发布时间】:2018-04-05 13:22:49
【问题描述】:
我已经编写了一个 C++ 代码来解决一个特定的问题,并且我研究过效率(理论效率,大 O)。
我有兴趣将我计算出的效率与一些实际示例进行比较,测试我的算法,以查看我是否正确地进行了计算。
有什么办法吗?我应该得到执行时间吗?那么,我如何将它与我计算的那个 big-O 进行比较?
谢谢。
【问题讨论】:
-
提示:当
n加倍时,您期望与O(n)的算法的执行时间有什么区别? -
您可能会发现这很有用:quick-bench.com。或者您可以编写自己的基准测试软件。
-
双倍?我不知道。它还取决于输入数据(至少在这个算法中)
-
@UnholySheep 我根本没想到它会翻倍。那里可能有一个不会改变的常数:P
-
@Yola 考虑
k * n + m,其中k是一个小常数,m是一个大常数。这是 O(n),但对于足够小的 n,将n加倍时的差异可以忽略不计。
标签: c++ algorithm performance