【发布时间】:2020-04-16 01:10:23
【问题描述】:
考虑下面的sn-p代码:
int sum=0;
for (int i = 1; i < n; i *= 2)
{
for (int j = 0; j < i; j++)
{
sum++;
}
}
这个的增长顺序是(n*log(n)/2)吗? (base 2 log)?
【问题讨论】:
-
你认为它是什么?为什么?
-
因子
1/2和对数的底都与大 O 表示法无关(都是常数因子)。 -
我将编辑问题以解释我的推理。
-
没有big-O,问题需要首先定义哪些操作被认为是基本的(即算作
1时间单位) -
@walnut 这将是内部循环中的语句。
标签: for-loop time-complexity big-o