En rekursiv funktion kallar sig som en del av den datorkraft processen . Även rekursion kan vara svårt att förstå i början , en grundlig förståelse av hur det fungerar kan förbättra din förmåga som en Java-programmerare . Rekursion är särskilt användbart i algoritmisk utveckling eftersom många begrepp i matematik och datavetenskap naturligt lämpar sig för att uttryckas rekursivt . Det är därför det är viktigt för en Java-programmerare att veta hur man ska inkludera rekursion i sitt program när det behövs . Instruktioner
1
Bestäm om rekursion är lämplig för dina behov . Du måste kunna uttrycka computational processen med att lösa ditt problem i termer av upprepade samtal till sig själv . Ett populärt exempel är faktoriell beräkning som är resultatet av att multiplicera en serie tal fram till " N " , och kan uttryckas som en rekursiv beräkning .
2
Bestäm att du kan tillämpa söndra - och - erövra strategi för att lösa ditt problem . Exempelvis förlitar sig " quicksort " metod som på rekursiv beräkning under sorteringen . På ett liknande sätt , måste du kunna dela upp problemet i mindre bitar och bearbeta dem rekursivt .
3
Skapa Java metod som du kommer att ringa rekursivt . Se till att din Java metoden innehåller alla nödvändiga sex komponenter , nämligen modifier, returtyp , metod namn , parameterlista , undantag lista och metoden kroppen .
Definierar till exempel följande rad en metod som kallas " quicksort ( ) " som accepterar en array som ska sorteras tillsammans med de vänstra och högra index :
void quicksort ( int arr [ ] , int vänster , int höger ) { }
4
Se till att du inkluderar samtal till sig själv inne i metoden som innehåller rekursiva beräkningen . Till exempel , innanför " quicksort ( ) " metoden , följande samtal till mer " quicksort ( ) " metoder kan hittas :
int index = partition ( arr , vänster , höger ) ,
om ( vänster < index - 1 ) katalog
quicksort ( arr , vänster , index - 1 ) ,
if ( index < höger ) katalog
quicksort ( arr , index , höger ) ,
parametrar som skickas till den efterföljande rekursivt anrop måste vara mindre än de tidigare . Detta är ett väsentligt inslag i söndra - och - erövra strategi .
5
Testa rekursiv funktion samtalet . Du kan definiera en klass för att testa din rekursion och en " main ( ) " metoden inuti det att ringa din rekursiv funktion och se till att det fungerar korrekt. Till exempel :
class rekursion {
public static void main ( String args [ ] ) { }
} Addera ditt