给定一个算法有两个阶段。一个是初始化,需要时间O(n ^ 2)而另一个阶段是采用O(nlogn)的主要计算。那么整个算法的复杂性是多少?它最多可以是2或类似O(n ^ 2logn)。最好的描述将是
答案 0 :(得分:0)
你可以在大多数算法书籍中找到这方面的证明,但这也是一个有趣的练习,试图自己证明。
答案 1 :(得分:0)
你可以把复杂度写成O(n + + n Log n),但是当第一个术语支配另一个(增长得更快)时,只需要O(n²)。
答案 2 :(得分:0)
我只是通过以下内容扩展@Yves Daoust的答案:
O(n² + n Log n) =
= O(n² * [1 + Log(n) / n]) =
... (Log(n) / n) → 0, when n→∞ ...
= O(n² * [1 + 0])
= O(n²)