为O(n ^ 2)对为O(n​​(LOGN)^ 2) [英] O(n^2) vs O (n(logn)^2)

查看:462
本文介绍了为O(n ^ 2)对为O(n​​(LOGN)^ 2)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

时的时间复杂度为O(n ^ 2) O(N(LOGN)^ 2)更好?

Is time complexity O(n^2) or O (n(logn)^2) better?

我知道,当我们把它简化,它变得

I know that when we simplify it, it becomes

O(n) vs O((logn)^2)

LOGN < N ,但对于 LOGN ^ 2

and logn < n, but what about logn^2?

推荐答案

N 仅小于登录的N) 2 作为值的 N 小于0.49 ...

n is only less than (log n)2 for values of n less than 0.49...

所以一般来说登录的N) 2 是大型的ñ更好

So in general (log n)2 is better for large n...

不过,由于这些的 0 的(东西) -notations总是忽略常数因子,在你的情况下,它可能无法肯定地说哪种算法比较好..

But since these O(something)-notations always leave out constant factors, in your case it might not be possible to say for sure which algorithm is better...

下面是一个曲线图:

(蓝线是 N 和绿线是登录的N) 2

(The blue line is n and the green line is (log n)2)

注意,如何对 N 小的值的差别并不大,而且可能很容易被不包括在大O符号,在常量因素相形见绌

Notice, how the difference for small values of n isn't so big and might easily be dwarfed by the constant factors not included in the Big-O notation.

但对于大型的 N 登录的N) 2 胜手了:

But for large n, (log n)2 wins hands down:

这篇关于为O(n ^ 2)对为O(n​​(LOGN)^ 2)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆