算法 - 比较性能

时间:2014-04-24 03:48:01

标签: algorithm

假设我有3个算法A,B和C来处理n个记录。

algorithm A takes 80n + 40 steps
algorithm B takes n^2 + 30n steps
algorithm C takes 2^n steps

确定执行

时哪种算法最有效
i)  10 < n < 50 

我解决这个问题的方法是假设n等于一个值,例如

对于i)假设n = 20

所以

algo A - 80(20) + 40 = 1640  steps
algo B - 20^2 = 400 steps
algo C - 2^20 = 1048576 steps
因此算法B是最有效的。

我不确定我是否正确评估了3种算法的性能,因为我只是用一个值代替n而不是使用Big O表示法?

请指教。谢谢

1 个答案:

答案 0 :(得分:1)

Big-O表示法处理任意大的n,即为了评估O(n),应该计算n - >无穷大的表达式。在你的情况下给出了n,因此可以精确计算整体运行时间,与你的方式完全相同。