Skip to main content

Rekursion und Wiederholung

  • Chapter
  • First Online:
Grundkurs Algorithmen und Datenstrukturen in JAVA
  • 11k Accesses

Zusammenfassung

Im Abschn. 1.1 haben wir den Algorithmus von Euklid sowohl iterativ wie auch rekursiv formuliert. Die Alternative ist typisch: Viele Aufgaben haben eine rekursive und eine iterative Lösung. In diesem Kapitel beschäftigen wir uns mit der Frage, wie weit die beiden Techniken austauschbar sind.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 44.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Die Begriffe Iteration , Wiederholung und Schleife sind Synonyme; sie können miteinander ausgetauscht werden.

  2. 2.

    z. B. Prolog oder Logo; in gewissem Sinne auch XSLT.

  3. 3.

    s. z. B. [Niev].

  4. 4.

    Diese alternative, kompaktere Lösung ist aber etwas weniger gut lesbar.

  5. 5.

    Gute Compiler können hier allerdings optimieren.

  6. 6.

    Eine Reihung aus Ganzzahlen wird in Java mit 0 vorbesetzt.

  7. 7.

    Benannt nach dem Mathematiker F. W. Ackermann, 1896–1962.

  8. 8.

    Diese Methode funktioniert nur im Wertebereich von int korrekt. Der Austausch der Parametertypen und des Ergebnistyps auf long würde ihre Brauchbarkeit nur ein bisschen verbessern. Die Benutzung von java.math.BigDecimal-Objekten statt int-Variablen hebt diese Einschränkung auf, führt allerdings zu enormen Rechenzeitsteigerung.

  9. 9.

    Bedingungsgesteuerte Schleife.

  10. 10.

    Diese Gleichheit ist weder „flach“ noch „tief“, sondern eine „logische Gleichheit“; ebenso die nachfolgende Kopie.

  11. 11.

    Der Jokertyp List<?> ist der abstrakte Obertyp aller List-Instanziierungen.

  12. 12.

    static-Methoden können den Typparameter der generischen Klasse nicht benutzen; sie müssen selber als generische Methoden vereinbart werden.

  13. 13.

    Schleifen, deren Durchlaufzahl beim Eintritt in die Schleife bekannt sind; in einigen Programmiersprachen wie Pascal (nicht in Java): for-Schleifen.

  14. 14.

    Listen in den Standardklassen enthalten eine Methode size().

  15. 15.

    && ist die kurzgeschlossene Konjunktion: Der rechte Operand wird nur berechnet, wenn die Auswertung des linken Operanden true ergibt.

  16. 16.

    Auf Englisch: call-back.

  17. 17.

    Leider können Lambda-Ausdrücke keine geprüften Ausnahmen auswerfen, so muss VollAusnahme als Unterklasse von Error vereinbart werden.

  18. 18.

    Fraktale sind geometrische Gebilde, deren Dimension keine Ganzzahl (wie 1, 2 oder 3), sondern eine Bruchzahl ist – wie z. B. bei einer Monsterkurve ca. 1,78 (eine irrationale Zahl).

  19. 19.

    Auf Englisch: turtle graphics ; ein Online-Beispiel ist unter der Adresse http://kaminari.istc.kobe-u.ac.jp/java/logo/ zu finden.

  20. 20.

    Manche nennen sie Sierpinski-Dreieck .

  21. 21.

    Eine Annäherung ist in Abb. 3.6 zu sehen.

  22. 22.

    Benannt nach David Hilbert (1862–1943), deutscher Mathematiker.

  23. 23.

    Benannt nach Waclaw Sierpiński (1882–1969), polnischer Mathematiker.

  24. 24.

    Hängt vom Java-Interpreter ab.

  25. 25.

    Der Interpreter löst die Ausnahme StackOverflowErroraus, wenn die Anzahl der rekursiven Aufrufe (z. B. bei einer endlosen Rekursion) die Kapazität des Stapels überschreitet.

  26. 26.

    Auf Englisch: trial and error.

  27. 27.

    Auf Englisch backtracking .

  28. 28.

    requires n*n < Integer.MAX_VALUE; andernfalls hilft die Verwendung von long oder java.math.BigDecimal

  29. 29.

    Im idealen Fall steht der Ehepartner auf der ersten Stelle.

  30. 30.

    Aus Jane Austen’s „Stolz und Vorurteil“ („Pride and Prejudice“), 1813.

  31. 31.

    In der Bundesrepublik Deutschland an die ZVS (Zentrale Vergabestelle).

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer Fachmedien Wiesbaden GmbH

About this chapter

Cite this chapter

Solymosi, A., Grude, U. (2017). Rekursion und Wiederholung. In: Grundkurs Algorithmen und Datenstrukturen in JAVA. Springer Vieweg, Wiesbaden. https://doi.org/10.1007/978-3-658-17546-7_3

Download citation

Publish with us

Policies and ethics