definition of recursion code example
Example 1: what is recursion
Recursion is a basic programming
technique you can use in Java,
in which a method calls itself to
solve some problem. A method that
uses this technique is recursive.
Many programming problems can be
solved only by recursion, and some
problems that can be solved by other
techniques are better solved by recursion.
EXP-1: Factorial
public static long factorial(int n){
if (n == 1)
return 1;
else
return n * factorial(n-1);
}
EXP-2: Fibonacci
static int n1=1, n2=2, n3=0;
public static void printFibo(int count){
if (count > 0) {
n3 = n1 + n2;
n1 = n2;
n2 = n3;
System.out.print(" " + n3);
printFibo(count-1);
}
}
Example 2: Recursion
/**
* Return all subsequences of word (as defined above) separated by commas,
* with partialSubsequence prepended to each one.
*/
private static String subsequencesAfter(String partialSubsequence, String word) {
if (word.isEmpty()) {
// base case
return partialSubsequence;
} else {
// recursive step
return subsequencesAfter(partialSubsequence, word.substring(1))
+ ","
+ subsequencesAfter(partialSubsequence + word.charAt(0), word.substring(1));
}
}