有的java算法题目不是很看得懂,尤其实递归算法,我不知道怎么弄懂,希望哪位好心人,帮帮我呀!!
我是个java初学者,想弄懂递归到底怎么回事,现在感觉递归真的不是这么简单呀!!!QQ: 420421951
现在我列举一题:
static int a[]=new int[100];
public static void comb(int m,int k) { //5选3
int i,j;
for (i=m;i>=k;i--) {
a[k]=i;
System.out.println("a["+k+"]"+a[k]);
if (k>1){
comb(i-1,k-1);
}
else {
for (j=a[0];j>0;j--)
System.out.printf("%4d",a[j]);
System.out.println();
}
}
}
public static void main(String args[]) {
a[0]=3;
comb(5,3);
//[0]=4;
//comb(10,4);
}
}
我是个java初学者,想弄懂递归到底怎么回事,现在感觉递归真的不是这么简单呀!!!QQ: 420421951
现在我列举一题:
static int a[]=new int[100];
public static void comb(int m,int k) { //5选3
int i,j;
for (i=m;i>=k;i--) {
a[k]=i;
System.out.println("a["+k+"]"+a[k]);
if (k>1){
comb(i-1,k-1);
}
else {
for (j=a[0];j>0;j--)
System.out.printf("%4d",a[j]);
System.out.println();
}
}
}
public static void main(String args[]) {
a[0]=3;
comb(5,3);
//[0]=4;
//comb(10,4);
}
}
public static int fibonacci(int m) {
if (m == 0 || m == 1) {←这里是“出口”
return m;
} else
return fibonacci(m - 1) + fibonacci(m - 2);
}
}