n2的增长率低于n3。我知道我们可以用图形方式验证它,或者我们可以输入像1,2,3这样的值... n3在n2以内的时间内获得一个值,那么为什么我们更喜欢n3中的n2?
答案 0 :(得分:2)
n3在比n2
更短的时间内获得一个值
n^3
确实在<轴> 的 中获得 的值 <{1>}。但它正在实现的价值是什么?这些轴代表什么?让我们看看这个的实际图表:
(在此图表中,n^2
将是O(n^3)
和O(2^n)
之间的曲线。)
Y轴是操作,而不是结果。 X轴是元素,而不是时间。因此,您的O(n^2)
算法将执行更多操作。在每种情况下,结果都是相同的。此处测量的度量标准是对给定元素集执行的操作数,以实现结果。
O(n^3)
比n^3
更快地爬上图表,这意味着它会执行更多操作来计算相同的结果。在同一硬件上进行更多操作意味着需要更多时间。
我们更喜欢n^2
算法优于O(n^2)
算法,因为我们更喜欢使用较少的操作计算相同结果的算法。
答案 1 :(得分:0)
因为你在衡量资源的使用(时间或空间),这是成本,而不是表现,所以越低越好