【发布时间】:2020-01-02 04:28:46
【问题描述】:
我发现了这个大 O 分析问题,并了解到您可以有一个包含多个变量的大 O。
void f3(int n, int m, int r) {
for (int i = 0; i < n; ++i) { O(N)
for (int j = m; m > 0; m /= 2) { O(log(M))
}
}
}
Answer: O(N log M)
问题一 看了Big O with 2 variables which multiply together之后,我想知道这样说是否准确:只有多个参数.
我不确定,因为具有多个变量的大 O 似乎并不常见,至少从我能找到的情况来看,大多数答案都解决了通常的单变量大 O 分析。
问题 2 具有多个变量的大 O 应该保持原样还是根据哪个变量增长得更快而简化?
我能找到的最佳答案来自Big O analysis for method with multiple parameters,答案基本上是保留每个变量,除非您可以确定哪个变量增长最快,在这种情况下您删除其他变量。我不知道答案有多准确。
【问题讨论】:
标签: big-o