二次算法什么时候可以比对数算法更好?
When can a quadratic algorithm be better than an logarithmic one?
当有两种算法可以解决同一个问题时,一种是二次算法,一种是对数算法,什么上下文意味着最好使用二次算法,尽管有隐含的损害。
如果对数算法具有明显更大的常数,则二次算法在某一点上可能更好,例如:第一个算法执行 1000 * logN
操作(准确 - 为简单起见),另一个 - 3 * N^2
。然后,直到大约 N = 20
,二次算法的性能会更好。
当有两种算法可以解决同一个问题时,一种是二次算法,一种是对数算法,什么上下文意味着最好使用二次算法,尽管有隐含的损害。
如果对数算法具有明显更大的常数,则二次算法在某一点上可能更好,例如:第一个算法执行 1000 * logN
操作(准确 - 为简单起见),另一个 - 3 * N^2
。然后,直到大约 N = 20
,二次算法的性能会更好。