【发布时间】:2013-12-01 11:58:52
【问题描述】:
我正在尝试了解如何计算算法的时间复杂度。
我有这段代码: 这是整个方法:
public void solve(int i) {
if(i < 2) {
return;
}
solve(i-1); //recursive call
int x = v[n-i];
for(int j = n-i+1; j < n; j++) {
if(x > v[j]) {
count++;
}
}
return;
}
我认为复杂度是 O(n)。我对吗?
谢谢
【问题讨论】:
-
什么是
solve(i-1);?! -
这可能会有所帮助:bigocheatsheet.com
-
好吧,至少现在我们有了
solve的来源。n是什么?v是什么? -
谢谢。 n 是从文件中读取的数字,v 是具有 n 个元素的数组。
标签: java time time-complexity code-complexity