什么时候Big-O = x被归类为低效?

时间:2010-11-24 00:57:12

标签: big-o

假设我们使用X算法与O(n)O(log n)etc...实施了一个问题。当n的值足够大以至于我们必须考虑替代实现时?让我们看看我是否可以更好地解释自己。

  

对于n = 10,000

     

O(n ^ 2)= 100,000,000

     

O(n)= 10,000

     

O(Log n)= 4

     

。 。

显然,最好的算法将是具有最低“Big-o”的算法。

因此,假设我们使用冒泡排序对长度为5的数组进行排序,结果为25,这并不是那么糟糕。但是,如果O符号的结果如此之大,那么实际上我们必须使用另一种实现。

4 个答案:

答案 0 :(得分:4)

当它成为你申请的瓶颈时。

但总的来说,目标是复杂性最低的算法,同时也易于实现。

答案 1 :(得分:1)

某种Big O复杂性并不意味着你应该总是避免它;你应该拍摄较低复杂度的算法,但是n(12)的O(n ^ 2)将会快速运行,而不管O(n ^ 2)通常被认为是“坏”的复杂性。

O(n ^ 2)并不自动意味着“太慢”; O(n log n)不会自动表示“yay,这很快”。如果一个给定的算法运行得太慢,那么你想减少它的运行时间,你通常可以通过降低它的复杂性来做到这一点,但是直到它成为一个问题,不要冒汗。

答案 2 :(得分:0)

如果存在另一个较低Big-O的解决方案,那么解决方案效率太低。

答案 3 :(得分:0)

当它等于alt text且alpha = 1时。