Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:algorithmen:teile_und_herrsche:arraysumme:start [26.01.2022 20:50] – [Rekursion! Teile und herrsche...] sbel | faecher:informatik:oberstufe:algorithmen:teile_und_herrsche:arraysumme:start [Unknown date] (aktuell) – gelöscht - Externe Bearbeitung (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Arraysumme ====== | ||
- | |||
- | In diesem -- für das Teile-und-Herrsche-Prinzip etwas künstliche -- Problem soll die Summe aller Zahlen in einem Array aus Integer-Zahlen berechnet werden. | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A1) === | ||
- | |||
- | Lade dir das Bluej-Projekt von https:// | ||
- | |||
- | * Untersuche und teste den Konstruktor der Array-Klasse. | ||
- | * Implementiere die iterative Methode '' | ||
- | |||
- | ===== Rekursion! Teile und herrsche... ===== | ||
- | |||
- | Wie kann man dieses Problem rekursiv lösen? Zur Erinnerung: | ||
- | |||
- | * Finde einen einfachen Fall, den du als Basisfall verwenden kannst. | ||
- | * Finde heraus, wie du die Aufgabe vereinfachen kannst, um zum Basisfall zu gelangen. | ||
- | |||
- | **Was ist der direkt lösbare Basisfall für dieses Problem?** Wie muss ein Array beschaffen sein, damit man die Summe aller Array Elemente unmittelbar erkennen kann? | ||
- | |||
- | ++++ Antwort: | Wenn das Array die Länge 0 oder 1 hat, ist das Ergebnis sehr einfach zu ermitteln: Im Falle des leeren Arrays ist die Summe 0, im Fall des Arrays mit der Länge 1 ist die Summe der Wert des einzigen Array-Elements. | ||
- | ++++ | ||
- | |||
- | Um das Teile-und-Herrsche Prinzip anwenden zu können muss man sich nun einen Rekursionsfall überlegen, der uns dem Basisfall, dem " | ||
- | |||
- | Wie kann man also beispielsweise die folgende Situation so verändern, dass die zur Summe aus kleineren Array(s) führt? | ||
- | |||
- | {{ : | ||
- | |||
- | ++++ Antwort: | | ||
- | Zum Beispiel so: | ||
- | |||
- | {{ : | ||
- | |||
- | ++++ | ||
- | |||
- | Die Funktionsweise kann man also dem folgenden Flussdiagramm, | ||
- | |||
- | {{ : | ||
- | |||