Java Glossary : recursion

CMP home Java glossary home Menu no menu Last updated 2004-06-28 by Roedy Green ©1996-2004 Canadian Mind Products

Java definitions: 0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

You are here : home : Java Glossary : R words : recursion.

recursion
In Java, a method may call itself. It does not need to make any special declarations to make this possible. The trick is used mainly in exercises given in computer science class. In the real world, recursion has a bad name because you can overflow the stack if you are call yourself too many times without returning. Further, most cute recursive algorithms can be specified more efficiently with loops. The classic practical recursive algorithm is QuickSort. The classic student problem is to calculate n! with or without recursion.

/**
  * calculates n! i.e. n*(n-i)*(n-2) ... 3*2*1
  * for 0 <= n <= 12
  * Uses recursion, counting down.
  */
static int factorial (int n)
   {
   if ( n == 0 )
      {
      return 1;
      }
   else return n * factorial( n-1 );
   }


CMP logo
CMP_home
home
Canadian Mind Products CSS
HTML Checked!
ICRA ratings logo
mindprod.com IP:[24.87.56.253]
Your IP:[80.134.30.163]
You are visitor number 2604.
Please send errors, omissions and suggestions
to improve this page to Roedy Green.
You can get a fresh copy of this page from: or possibly from your local J: drive mirror:
http://mindprod.com/jgloss/recursion.html J:\mindprod\jgloss\recursion.html