Algorithm 根据运行时间和变化率估计算法的增长顺序
我是一个初学者,正在练习算法。下面的列表表示我运行的一个算法,并记录了更改的时间和比率。我不知道如何从这个列表中找出增长的顺序。我需要考虑哪些因素?如果能给我一个解释性的答复,我将不胜感激Algorithm 根据运行时间和变化率估计算法的增长顺序,algorithm,time-complexity,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
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
比较最小输入和各种较大输入的时间:
- N(512->1024)增加2倍会导致运行时间增加4倍李>
- N增加4倍(512->2048)会导致运行时间增加16倍李>
- N增加8倍(512->4096)会导致运行时间增加64倍李>
由此,您可以推断,N的kx增加将导致运行时间的k2x增加,这表明是一个O(n2)算法。正是我需要的答案。谢谢:)