Fra*_*nXh 7 java algorithm complexity-theory
根据我的分析,这个算法的运行时间应该是N 2,因为每个循环遍历所有元素.我不确定if声明是否会改变时间复杂度?
for(int i=0; i<N; i++){
for(int j=1; j<N; j++){
System.out.println("Yayyyy");
if(i<=j){
System.out.println("Yayyy not");
}
}
}
Run Code Online (Sandbox Code Playgroud)
总运行时间为Tc + N x(To + NxTi + N/2xTp).
这等于Tc + NxTo +(Nx(N/2))×(2Ti + Tp),当N变为无穷大时,其对于K> Ti + Tp/2的值以K x(N ^ 2)为界.该边界使得时间复杂度仍为O(N ^ 2).
不,if语句不会改变此示例中的时间复杂度.