【发布时间】:2011-11-20 16:14:05
【问题描述】:
在处理函数中的函数时(分析最坏情况时),我对 Big-O 的工作方式感到困惑。例如,如果你有类似的东西怎么办:
for(int a = 0; a < n; a++)
{
*some function that runs in O(n*log(n))*
for(int b = 0; b < n; b++)
{
*do something in constant time*
}
}
整个块是否会在 O(n^2*log(n)) 中运行,因为在第一个 for 循环中,你有一个 O(n) 和一个 O(n*log(n)),所以 O( n*log(n)) 更大,因此我们采用那个?还是因为在外部 for 循环中有一个 O(n) 和一个 O(n*log(n)) ,所以它是 O(n^3*log(n))?
感谢任何帮助!谢谢!
【问题讨论】:
标签: performance algorithm big-o