所以我一直试图得到大哦计算的句柄。我觉得我已经掌握了一些基础知识,但很难理解这个计算方法。所以如果下面的计算有一个很大的O(n log n)哦(我真的希望我至少得到了这个权利),那么改变循环顺序是否会影响复杂性呢?非常感谢您的时间。大哦对数(ish)复杂度计算
int ONLogN(int N) //O(n log n)
{
int iIterations = 0;
for (int i = 0; i < N; ++i)
{
++iIterations;
for (int j = 1; j < N + 1; j *= 2)
++iIterations;
}
return iIterations;
}
int WhatBigOhIsThis(int N) //???
{
int iIterations = 0;
for (int j = 1; j < N + 1; j *= 2)
{
++iIterations;
for (int i = 0; i < N; ++i)
++iIterations;
}
return iIterations;
}
您认为它是什么?外循环是* O(log N)*,内循环是* O(N)*所以我让你猜测组合结果。 – 2012-04-27 16:50:59
这几乎就像“如果a * b = x',什么是'b * a'?问题:) – dasblinkenlight 2012-04-27 16:51:57
我会认为O(n日志n),但我怀疑自己,因为在本周之前我没有做过任何与大哦。 – user1361473 2012-04-27 16:56:22