algorithm - 我们如何使用渐近复杂度计算算法的运行时间?

标签 algorithm time-complexity

如果给定某个算法的复杂度,计算N^3的运行时间的程序是什么。

最佳答案

有两种方法可以解决这个问题:

  1. 增量

我们需要从 n=50 重新计算到 n=300,这是 n 的 6 倍。给定复杂度 θ(n³) 6 倍将导致运行时间延长 216 (6³) 倍。对于 n=300,这给了我们 t=2160s

  1. 绝对

运行时间是某个未知常数 x 乘以复杂度 n³。找出 x 我们解决这个方程:t=x*n³ 或者更确切地说 10=x*125000 这将给我们 x=1/的最终结果12500 现在我们需要为新的 n t=(1/12500)*300³ 找到新的时间,它简化为 t=60*12*3,这给了我们相同的结果2160 秒。

关于algorithm - 我们如何使用渐近复杂度计算算法的运行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35325513/

相关文章:

algorithm - 将 1*2 和 1*3 的瓷砖尽可能多地放在 n*m 的地板上

php - 如何优化这个算法?

javascript - 如何在 O(lg N) 时间内解决完美平方时避免极端情况?

list - 为什么 Groovy 方法 minus() 对于数字列表如此慢?

algorithm - 摊销和平均运行时复杂度

list - haskell 函数的时间复杂度

algorithm - 这个算法的复杂度是多少,我可以把它加到无穷大吗?

java - 快速复制 HashMap

c - S-DES 实现 : how to work with the individual bits?

algorithm - 我们如何在 O(V +E) 中构造一个算法来计算在每个方向上恰好穿过 G 的每条边一次的路径