algorithm - 大 O 和时间复杂度

标签 algorithm sorting math computer-science

假设一个已知的算法是 O(N2) 并且解决一个大小为 M 的问题需要 5 分钟。解决一个4M大小的问题大概需要多长时间?

是不是就这么简单...

M=5分钟 4M=20分钟

?

最佳答案

由于 Big O 只是一个近似值,您无法计算实时时间,但是您可以进行一些估计。在你的情况下是

1 M ~ 5 min
4 M ~ 5 *(4*4) min ~ 80 min.

注意:我使用符号 ~ 来表示近似值。

O(N^2) => 大小为 N 的问题大约需要 N^2 时间

M 大约需要 M^2 时间

O(M)~ O(1M) 
=> 1^2*M^2 
=> M^2 
=> 5 min


O(4M) ~ (4M)^2 
=> 4^2*M^2 
=> 16*M^2 
=> 16*5 
=> 80 min

关于algorithm - 大 O 和时间复杂度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23073624/

相关文章:

php - 数组排序和合并算法

algorithm - 修改 Euler Totient 函数

python - 如何将相同的集合分组在一起

algorithm - 程序可以用来简化代数表达式吗?

c# - 在节点和边列表中查找循环引用

从前缀顺序表达式构建语法树的算法

python - Pandas unstack 不应对剩余索引进行排序

python - Python 中的列表排序(转置)

algorithm - 二进制矩阵的最小覆盖框数

python - 立方根是整数吗