Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 具有两个独立变量的嵌套for循环的时间复杂度_Algorithm_Time_Time Complexity_Complexity Theory - Fatal编程技术网

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

Algorithm 具有两个独立变量的嵌套for循环的时间复杂度,algorithm,time,time-complexity,complexity-theory,Algorithm,Time,Time Complexity,Complexity Theory,我试图计算此函数的时间复杂度: 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

我试图计算此函数的时间复杂度:

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]}
int fun1(A,k){//A是数组,k是整数
n=长度(A);//数组的长度
对于j:=1到k{
对于i:=j到n{
如果A[i]

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

因为双循环中的工作是恒定的,并且假设你从(和C,i=j到n)到(n-j+1)得到了什么?它不应该是(n-j+1)(n+j)?谢谢你的回答。因为C是常数,你把它因子化,那么内部和变成1的和(i=j到n),也就是(n-j+1)。例如,1的和(3到5)是1+1+1=3=(5-3+1)