为什么下面的函数时间复杂度为O(n)?我真的无法理解。
void setUpperTriangular (
int intMatrix[0,…,n-1][0,…,n-1]) {
for (int i=1; i<n; i++) {
for (int j=0; j<i; j++) {
intMatrix[i][j] = 0;
}
}
}
}
我不断地得到O(n^2)的最终时间复杂度,因为:
i: execute n times{//Time complexity=n*(n*1)
j: execute n times{ //Time complexity=n*1
intMatrix[i][j] = 0; //Time complexity=1
}
}
s = log(n)
并创建一个O(log(s))
排序算法![注意:实际答案可能是其他的,这只是一个猜测] - Alnitaks=-1
并创建第一个算法,在开始之前就完成了。 - devrobf