所以我从记忆中知道一个看似如下的for循环:
for( int i = 0; i > N; i++)
将有O(N)
并且对于每个内部循环添加,您只需将其乘以N --
,假设它与仅具有不同初始值的循环相同。我的问题是,
像
for( int i = 0; i < N; i *= 2)
for( int j = 0; j < N; j++)
我从记忆中知道第一个循环是lnN
,第二个循环是N
,所以O(NlnN)
就是答案。但我不想记住这些big O
,我想知道如何用手实际计算它们,如何用给定的N来追踪它。有人可以告诉我一些关于如何做的过程这个?我看过大学讲座的幻灯片,但他们通常会做基本的循环。感谢您的帮助和指导!
我可以跟踪它并找到迭代,但是当涉及到实际获取Big O
时我崩溃的地方