我编写了一个C ++代码来解决一个特定问题,我研究了效率(理论效率,大O)。
我有兴趣比较我计算的效率,用一些实际的例子来测试我的算法,以便看看我是否正确地进行了计算。
有什么办法吗?我应该获得执行时间吗?那么,我怎样才能将它与我计算过的那个大O进行比较呢?
感谢。
答案 0 :(得分:0)
您应该使用不同大小的输入数据运行您的实现,并测量运行这些大小所需的时间。
假设您选择了尺寸100,200,1000。假设您为每个输入尺寸运行了几次并计算了平均值 - T 100 ,T 200 ,T <子> 1000 子>。现在计算T 200 / T 100 并检查您的理论复杂性。它以相同的速度增长吗?例如。如果理论复杂度为O(n),则时间应该几乎翻倍。
答案 1 :(得分:-1)
Google Benchmark can calculate asymptotic complexity(即Big-O)适合你。还有this网络服务可以帮助您快速对此代码段进行基准测试。但是你显然应该考虑你从后者请求的计算量。