Hey Leute wenn wir schon dabei sind hätte ich auch ganz kurz eine Frage . Und zwar habe ich fragen bei denen ich eine Antwort brauche . Das Prinzip von Mergesort habe ich verstanden jedoch verstehe ich nicht wofür oder für was ein mergesort Programm ein rekursion benötigt und was genau hat rekursion mit mergesort zu tun .
Mir ist ja bewusst das wenn man ein Array hat wie zum Beispiel
3 6 8 5 7 9 2 1
Man das zerteilen muss entspricht so dass man zwei unsortierte arrays hat
3 6 8 5 7 9 2 1
Und die muss man noch mal zerlegen bis man die alle Einzel stehen hat
36 85 79 21
Diese wiederum nochmal zerlegen
3 6 8 5 / 7 9 2 1
Diese sind jetzt sortiert und Diese muss man dann so zu sagen vermischen
Das heißt :
Da die 3 kleiner ist als die 6 wird
36 beibehalten
36 aber da die 5 kleiner ist als die 8 werden die vertauscht entspricht
36 58
Genau so gehts bei der 7 und 9 . Da die 7 kleiner ist als die 9 kann man das beibehalten
79 aber da die 1 kleiner ist als die zwei wird’s vertauscht
Heißt 12
Dann hat man das vor sich liegen
36 58 79 21
Dann schau man sich an ob die 3 größer ist als die 5 in dem Fall ist es größer
Deshalb schreibt man sich die 3 auf
3 dann schaut man sich an ob die 6 größer als die 5 ist in dem Fall nicht heißt man schreibt sich nun die 5 auch neben der drei auf
35 dann schaut man sich ob die 6 kleiner ist als die 8 was in dem Fall so ist heißt
Jetzt haben wir ein sortiertes halbes Array
3568 und machen das gleiche mit dem anderen halben Array auch
2 ist kleiner als 7 heißt schreiben die 2 auf
7 ist größer als 1 heißt schreiben die 1 auf
7 ist größer als 9 heißt schreiben die 7 auf
2179
3568 2179
Jetzt das gleiche Prinzip
Die 2 ist kleiner als die 3
Also wird sie aufgeschrieben
21356789
Was hat rekursiv damit aber zu tun und für was benötigt man das ?
Mir ist ja bewusst das wenn man ein Array hat wie zum Beispiel
3 6 8 5 7 9 2 1
Man das zerteilen muss entspricht so dass man zwei unsortierte arrays hat
3 6 8 5 7 9 2 1
Und die muss man noch mal zerlegen bis man die alle Einzel stehen hat
36 85 79 21
Diese wiederum nochmal zerlegen
3 6 8 5 / 7 9 2 1
Diese sind jetzt sortiert und Diese muss man dann so zu sagen vermischen
Das heißt :
Da die 3 kleiner ist als die 6 wird
36 beibehalten
36 aber da die 5 kleiner ist als die 8 werden die vertauscht entspricht
36 58
Genau so gehts bei der 7 und 9 . Da die 7 kleiner ist als die 9 kann man das beibehalten
79 aber da die 1 kleiner ist als die zwei wird’s vertauscht
Heißt 12
Dann hat man das vor sich liegen
36 58 79 21
Dann schau man sich an ob die 3 größer ist als die 5 in dem Fall ist es größer
Deshalb schreibt man sich die 3 auf
3 dann schaut man sich an ob die 6 größer als die 5 ist in dem Fall nicht heißt man schreibt sich nun die 5 auch neben der drei auf
35 dann schaut man sich ob die 6 kleiner ist als die 8 was in dem Fall so ist heißt
Jetzt haben wir ein sortiertes halbes Array
3568 und machen das gleiche mit dem anderen halben Array auch
2 ist kleiner als 7 heißt schreiben die 2 auf
7 ist größer als 1 heißt schreiben die 1 auf
7 ist größer als 9 heißt schreiben die 7 auf
2179
3568 2179
Jetzt das gleiche Prinzip
Die 2 ist kleiner als die 3
Also wird sie aufgeschrieben
21356789
Was hat rekursiv damit aber zu tun und für was benötigt man das ?