11.01. Memorisierung

In der letzten Sitzung haben wir ein Prädikat für die Fakultätsfunktion definiert:

fak(N,R):-
    fak(N,1,R).

fak(0,Acc,Acc):-!.

fak(N,Acc,R):-
    AccNew is N * Acc,
    NNew is N - 1,
    fak(NNew,AccNew,R).

Mach dir klar, dass die Fakultätsfunktion durch fak(0) = 1 und fak(n) = fak(n − 1) ∗ n definiert werden kann.


Nutze die Technik der Memoisierung für ein neues Prädikat zur Berechnung der Fakultät.


Warum führt die Memoisierung hier nicht zu derselben Effizienzsteigerung wie bei der Fibonacci-Folge?

Noch keine Kommentare eingereicht. Bitte hilf uns diese Aufgabe zu verbessern.

Schreibe einen Kommentar