Answered step by step
Verified Expert Solution
Question
1 Approved Answer
In der Vorlesung wurder der Algorithmus Mergesort bereits iterativ implementiert. In dieser Aufgabe sollen Sie ihn auf rekursive Weisestinsetzen. Implementieren Sie dazu die Funktion mergesort
In der Vorlesung wurder der Algorithmus Mergesort bereits iterativ implementiert. In dieser Aufgabe sollen Sie ihn auf rekursive Weisestinsetzen. Implementieren Sie dazu die Funktion mergesort im gegebenen Coderahmen. Die Funktion hat folgende Signatur:
void mergesortint values int firstindex, int lastindex
Die Funktion soll den Bereich von firstindex bis lastindex durch Aufruf von sich selbst sortieren und dabei die bekannte Funktion merge nutzen. Zur Erinnerung: Die Funktion merge nimmt die fnf Argumente und entgegen. a und sind sortierte Felder der Lngen bzw Ib ist ein leeres Feld, in das das Ergebnis des Zusammenfgens geschrieben wird.
Wichtig: Implementieren Sie die Funktion rekursiv! Dies bedeutet, dass die Funktion sich selbst aufruft, anstatt ber das Feld zu iterieren. Setzten Sie die Funktion durch Implementieren der folgenden Schritte bzw Regeln um:
Falls der Bereich die Lnge hat, braucht er nicht weiter unterteilt zu werden und ist automatisch sortiert.
Im Rekursionsschritt sollten Sie den zu sortierenden Bereich in zwei Hlften teilen und auf beiden einen rekursiven Aufruf starten.
Sobald Sie sicher sind dass die zwei Bereiche sortiert sind knnen sie einfach die Funktion merge nutzen, um sie zusammenzufgen
Tipp: Falls Sie Schwierigkeiten haben, auf eine Lsungsidee zu kommen, entwickeln Sie zunchst einen Algorithmus fr ein Feld der Lnge Erweitern Sie ihn anschlieend so dass er mit einem Feld der Lnge funktioniert. Erweitern Sie dann fr Felder der Lnge und stellen anschlieend sicher, dass auch Felder der Lnge sortiert werden. berlegen Sie dann, ob und ggf was noch fr beliebig lange Felder fehlt und welche der o g Schritte noch noch umgesetzt werden mssen
Wichtig:
Verwenden Sie die an diese Aufgabe angehngte Datei mergesortrecursive.cpp Implementieren Sie die Funktion darin und geben sie anschlieend ab
Achtung: Das bestehen der Testflle in der mainFunktion garantiert nicht, dass Ihre Lsung richtig ist. Wir werden fr die Bewertung noch weitere Flle testen.
Sie drfen davon ausgehen, dass firstindex lastindex gilt.
Ihr Code darf keine Eingaben entgegennehmen oder Ausgaben erzeugen.
Sie drfen den Coderahmen nur an den markierten Stellen und innerhalb der mainFunktion verndern
Stellen Sie sicher, dass Ihr Programm die og Signaturen verwendet.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started