从运行时间和变化率估算算法的增长顺序

时间:2015-04-22 18:26:03

标签: algorithm time-complexity

我是一名练习算法的初学者。下面的列表代表我运行的算法,并记录了变化的时间和比例。我不知道如何从这个列表中找出增长的顺序。我需要考虑哪些因素?我非常感谢解释性答案。

 N  |seconds | ratio | log(base of 2) ratio
---------------------------------------
512   0.12    4.14      2.05
1024  0.49    4.24      2.08
2048  2.08    4.24      2.08
4096  8.83    4.24      2.08

1 个答案:

答案 0 :(得分:2)

将最小输入的时间与各种较大的输入进行比较:

  • N(512→1024)的2倍增加导致运行时间增加4倍。
  • N(512-> 2048)增加4倍导致运行时间增加16倍。
  • N(512-> 4096)增加8倍导致运行时间增加64倍。

由此可以推断, k x增加N会导致运行时间 k 2 x增加,表明一个O( n 2 )算法。