 Recursive algorithm: Has two parts (a) base case and (b)
smaller instances of itself .
 A recursive step includes a return statement
public static long factorial(long number) { if(number <=1)
// test base case {
return 1;
} else { // test recursive return number * factorial(number1); } }
 If the recursive call occurs at the beginning of a method, it is
called a head recursion. Head Recursion: A call is headrecursive
when the first statement of the function is the recursive call
