具有两个自变量的嵌套 for 循环的时间复杂度

Time complexity of nested for-loop with two independent variables

我正在计算这个函数的时间复杂度:

int fun1(A, k){      //A is an array, k is an integer
n = length(A);       //length of array
for j:= 1 to k{
    for i:= j to n{
        if A[i] < A[j-1]{
            x:=  A[j-1]; 
            A[j-1]:= A[i]; 
            A[i]:= x
        }
    }
}
return A[k-1]}

我们在外循环迭代了k次,但是如何计算内循环的迭代次数,以及整个算法的时间复杂度呢?

由于双循环内的功是常数,假设k<=n那么复杂度可以写成

编辑:我忘记了常量,但这没关系,因为它会在大 Oh 符号中消失