public class Test {
public static void main(String[] args) {
System.out.println("test jjj");
printN(200000);
// printNFor(200000);
}
/**
* 空间复杂度
* @param N
*/
//S(n) = C * N
public static void printN(int N){
if(N > 0){
printN(N-1);
System.out.println(N);
}
}
//S(n) = 1;
public static void printNFor(int N){
for (int i = 0; i < N; i++) {
System.out.println(i);
}
}
// 时间复杂度
// 加减法可以忽略,只需计算用了多少次乘除法
//a[j] * Math.pow(x,j) >> T(n) = (1+2+3+...+N)=(n2+n)/2次乘法
//T(n) = C1n2+C2n;
public static double printNT(int n, double[] a, double x){
double p = a[0];
for (int j = 0; j <= n; j++) {
p += (a[j] * Math.pow(x,j));
}
return p;
}
//n次乘法
//x*p >> T(n) = C1n;
public static double printNT2(int n, double[] a, double x){
double p = a[n];
for (int j = n; j > 0; j--) {
p = a[j-1] + x*p;
}
return p;
}
//复杂度小窍门
//若T(n)是关于n的K阶多项式,那么T(n) = n的k次幂
//for循环的时间复杂度等于循环次数乘以循环体代码的复杂度
//if else 结构的复杂度取决于if条件判断复杂度和两个分之复杂度,取其中复杂度最大的。
}
数据结构
最新推荐文章于 2024-04-16 10:15:00 发布