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)