Teile-und-herrsche Prinzip

Aufrufe: 1374     Aktiv: 29.01.2021 um 15:19

0

Hallo zusammen,

Aufgabestellung

Den ersten Schrit habe ich gemacht, return (A,1,3) * (A, 3+1, 8) -> (A,1,3) * (A,4,8) = Wie kann ich die beiden multiplizieren, die Unterscheiden sich ja. Im ersten ist (A,l,q) und der zweite von der Multiplikation ist (A,q+1,r). Wie berechnet machen dies

Mein Vorgehen

Diese Frage melden
gefragt

Student, Punkte: 66

 
Kommentar schreiben
1 Antwort
1

Hey, sieht nach einer Rekursionsaufgabe aus. Du musst also immer weiter die Funktion UNKNOWN(A,l,r) aufrufen bis die Begingung l=r erfüllt ist. Dann bekommst du erst eine Zahl als Ergebnis. In deinem Fall musst du also UNKNOWN(A,1,3) * UNKNOWN(A,4,8) wieder bestimmen.

Vielleicht als kleiner Tipp: Du kannst dir die resultierenden Funktionsaufrufe auf einem Blatt in einer Baustruktur aufschreiben. Wenn die Bedingung l = r erfüllt wird musst du dann an dem entsprechenden index schauen und die Zahl dem Funktionsaufruf zuodrdnen.

Wenn ich nicht ganz daneben liege sollte als Ergebnis 6 * 4 * 2 * 9 * 2 * 8 * 7 * 5 = 241920

Ich denke das Ergebis ist aber eher Nebensache. Es geht wahrscheinlich darum, dass die Funktionsweise von Rekursion verdeutlicht wird.

Diese Antwort melden
geantwortet

Punkte: 15

 

Vielen Dank timrank044. Darf ich es einmal auf einem Blattpapier schreiben, kannst du mal darüber schauen, ob ich es richtig verstande habe?

  ─   sayuri 17.11.2020 um 23:06

Klar,
einfach machen und hochladen :)

  ─   timrank044 19.11.2020 um 20:29

verstehe ich nicht ganz, warum du (A,1,3) hast warum 1 und 3? wie muss ich genau UN(A,1,3) * UN(A,4,8) bestimmen bzw. wie kriege ich die Zahl? Genau, das verstehe ich nicht!

  ─   sayuri 09.01.2021 um 11:22

wäre es nicht 6 * 2 9 5..?

  ─   sayuri 10.01.2021 um 11:03

Du musst wiederrum UN(A,1,3) und UN(A,4,8) bestimmen.
Das geht so lange bis du tatsächlich zu Zahlen kommst. In deinem Beispiel kommst du zu einer Zahl wenn l = r gilt, da dann die l-te Zahl des Arrays zurückgegeben wird.

Selbst wenn es dir schwer fäll vorzustellen empfehle ich dir einfach mal auf einem Blatt die einzelnen Funktionsaufrufe zu bestimmen dadurch wird es vielleicht deutlicher.

Welche Zahl du zuerst bekommst hat bei einer Baumstruktur natürlich damit zu tun welchem Ast du zuerst folgst. Wenn es keine besonderen verweise gibt wird aber immer von links nach rechts ausgewertet. Bedeutet UN(A,l,q) wird vor UN(A,q+1,r) ausgewertet.

  ─   timrank044 29.01.2021 um 15:07

Kommentar schreiben