【发布时间】:2016-11-03 03:36:42
【问题描述】:
我知道如何计算几乎所有选项(简单函数、带循环的函数等)的时间复杂度,但我不知道如何确定调用 另一个函数的时间复杂度 em> 函数,特别是如果调用函数在循环中。
我写了一些函数,作为例子。
int g(int k) {
int i=0;
while(k>0) {
i += k;
k= k/2;
}
return i;
}
int f(int n) {
int m = 0;
for (int i=0; i<n; ++i) {
for (int j=i; j<n; ++j) {
m += g(j);
}
}
return m;
}
我想不通:我是否必须考虑函数g()的时间复杂度,如果我必须在函数f()中计算它?还是我只是忽略函数g(),只在函数f() 中包含函数调用?
【问题讨论】:
标签: c++ time-complexity big-o asymptotic-complexity