Hallo nochmal,
Ich benötige leider nochmal hilfe bei einer Aufgabe. Als Fehlermeldung kommt bei mir, dass die Rekursionstiefe nicht stimmt. Sie sollten 2 sein, ist bei mir aber 1.
Die Aufgabe:
Die Methode delannoyMem bekommt zusätzlich noch long[][] mem als viertes Argument(das beim ersten Aufruf aus dem Test stets null ist) und berechnet Dn,k rekursiv aber unter Verwendung von Memoization, indem es mem mit neu berechneten Werten befüllt und bereits ermittelte Werte direkt aus mem ausliest. Opfern Sie einen zusätzlichen rekursiven Aufruf, um mem Ihrer Implementierung in passender Größe bereitzustellen.
Danke für jede Hilfe!
Ich benötige leider nochmal hilfe bei einer Aufgabe. Als Fehlermeldung kommt bei mir, dass die Rekursionstiefe nicht stimmt. Sie sollten 2 sein, ist bei mir aber 1.
Die Aufgabe:
Die Methode delannoyMem bekommt zusätzlich noch long[][] mem als viertes Argument(das beim ersten Aufruf aus dem Test stets null ist) und berechnet Dn,k rekursiv aber unter Verwendung von Memoization, indem es mem mit neu berechneten Werten befüllt und bereits ermittelte Werte direkt aus mem ausliest. Opfern Sie einen zusätzlichen rekursiven Aufruf, um mem Ihrer Implementierung in passender Größe bereitzustellen.
Java:
public static long delannoyMem(TriboCheck t,int n, int k, long[][] mem) {
t.checkTribo();
for (n = 0; n < mem.length ; n++) {
for (k = 0; k < mem.length ; k++){
mem[n][k]= -1L;
}
}
if (n == 0 || k == 0) {
return 1;
} else if (mem[n][k] != -1L) {
return mem[n][k];
} else {
mem[n][k] = delannoyMem(t, n, k - 1,mem) + delannoyMem(t, n - 1, k - 1, mem) + delannoyMem(t, n - 1, k, mem);
return mem[n][k];
Danke für jede Hilfe!