Code Mergesort

Moderator: AI 2

Goelz_M
Erstie
Erstie
Beiträge: 16
Registriert: 20. Okt 2013 11:38

Code Mergesort

Beitrag 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

Prof. Karsten Weihe
Dozentin/Dozent
Beiträge: 1824
Registriert: 21. Feb 2005 16:33

Re: Code Mergesort

Beitrag 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

Goelz_M
Erstie
Erstie
Beiträge: 16
Registriert: 20. Okt 2013 11:38

Re: Code Mergesort

Beitrag von Goelz_M »

Vielen Dank :P

Prof. Karsten Weihe
Dozentin/Dozent
Beiträge: 1824
Registriert: 21. Feb 2005 16:33

Re: Code Mergesort

Beitrag 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

Benutzeravatar
aDramaQueen
Mausschubser
Mausschubser
Beiträge: 84
Registriert: 10. Jan 2014 16:34

Re: Code Mergesort

Beitrag von aDramaQueen »

Dazu hätte ich nochmal eine Frage:

Wie sind Schleifen eigentlich in Java implementiert? Das muss doch ne Art Rekursion sein?!?
Bild
...Never go full retard...

Antworten

Zurück zu „AI 2“