今天在看算法时,遇见了一些问题,想了很久,现总结如下,关于for循环的时间复杂度。我们知道当一重for循环时
packageSuanfa;public classFortest {public static voidmain(String[] args) {int n=100,count=0;for(int i=0;i
count++;
}
}
}
}
这是最简单的for循环,count执行n次,时间复杂度是N;
如果是for的二重循环呢
packageSuanfa;public classFortest {public static voidmain(String[] args) {int k=100 ,count=0;for(int i=0;i
{if(true)
count++;
}
System.out.println("k值为:"+k);
System.out.println("count值为 :"+count);
}
}
可以看见count输出4950;一般刚接触时,就会觉得这事件复杂度是n的平方,当然一般这样说也没错,但是你有没想过,为什么k输入是100时,count输出是4950,如果k是其他值呢,
count又会是什么,两者之间有什么关系?如果for是三重循环又会是怎样呢?
三重循环的情况如下:
packageSuanfa;p