Rekursiv algoritm

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

En rekursiv algoritm anropar/använder sig själv.

Ett bra exempel på detta är beräkning av fakultet (n!)

Fakultet beräknas så här: n!=1*2*3...(n-2)*(n-1)*n Ex: 7! = 1*2*3*4*5*6*7 = 5040

Eftersom 7! är detsamma som 7*6! och 6! är detsamma som 6*5! kan man enkelt göra en rekursiv funktion så här: (I exemplet är Basic använt)

 FUNCTION FAK(X)
    IF X=0 THEN
       FAK=1            
    ELSE
       FAK=X*FAK(X-1)
    END IF
 END FUNCTION


Raden FAK=1 är mycket viktig, annars kommer rekursionen att bli oändlig.

Personliga verktyg