Seite 1 von 1

Code Mergesort

Verfasst: 18. Aug 2014 17:30
von Goelz_M
Hallo,

ich hänge gerade am PDF "Code Mergesort". Ich habe zwar Mergesort an sich verstanden, jedoch erschließt sich mir der Code nicht so richtig:
In der Methode "mergesort" wird die Methode selbst rekursiv aufgerufen. Aber ohne irgendwelche Bedingungen -> es handelt sich um eine Endlosschleife :roll: . Wäre es möglich, hier ein richtiges Dokument hochzuladen, damit man auch die Implementation in Java nachvollziehen kann?
Vielen Dank!

Viele Grüße
Martin

Re: Code Mergesort

Verfasst: 20. Aug 2014 12:12
von Prof. Karsten Weihe
Goelz_M hat geschrieben: In der Methode "mergesort" wird die Methode selbst rekursiv aufgerufen. Aber ohne irgendwelche Bedingungen -> es handelt sich um eine Endlosschleife :roll: .
Sorry, eine korrigierte Fassung ist jetzt in moodle. :oops:

KW

Re: Code Mergesort

Verfasst: 20. Aug 2014 18:38
von Goelz_M
Vielen Dank :P

Re: Code Mergesort

Verfasst: 20. Aug 2014 18:53
von Prof. Karsten Weihe
Wobei mir noch einfällt: Das Wort "Endlosschleife" ist hier nicht korrekt. Es ist ja überhaupt keine Schleife, sondern eine Rekursion ohne Abbruch.

Da jeder Methodenaufruf zusätzlichen Speicherplatz für die Parameter und anderes benötigt, ruft Mergesort sich natürlich nicht endlos rekursiv auf. In Java wird dann ein StackOverflowError geworfen, wenn der reservierte Speicherplatz aufgebracht ist. (Errors sind etwas Ähnliches wie Exceptions, hatte ich im Video zu Exceptions kurz erwähnt.)

KW

Re: Code Mergesort

Verfasst: 2. Sep 2014 14:19
von aDramaQueen
Dazu hätte ich nochmal eine Frage:

Wie sind Schleifen eigentlich in Java implementiert? Das muss doch ne Art Rekursion sein?!?