Is writing recursive functions hard for you?
- by null
I'm taking a computer science course now. I feel it is so hard compared to my polytechnic IT course. I can't understand recursive methods well. How do you manage to get your brain to understand it? When the recursive method returns back, my brain can not trace it nicely.
Is there a better way to understand recursion? How do you start learning it? Is it normal that feel that it is very hard at then beginning?
Look at the example, I'm very surprised how can I write this if it appears in exam.
public class Permute {
public static void main(String[] args) {
new Permute().printPerms(3);
}
boolean[] used;
int max;
public void printPerms(int size) {
used = new boolean[size];
max = size;
for (int i = 0; i < size; i++) {
used[i] = false;
}
perms(size, "");
}
public void perms(int remaining, String res) {
if (remaining == 0) {
System.out.println(res);
} else {
for (int i = 0; i < max; i++) {
if (!(used[i])) {
used[i] = true;
perms(remaining - 1, res + " " + i);
used[i] = false;
}
}
}
}
}