Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » merge sort implentieren » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen merge sort implentieren
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
dereuler
Grünschnabel


Dabei seit: 22.04.2016
Beiträge: 2

merge sort implentieren Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
implementieren sie die Methode merge()


public class mergesort {
public static void merge(int A[], int p, int q, int r){
/* Hier Code ergänzen */
}

public static void testeBeispiel(int[] beispiel){
int n = beispiel.length-1;
System.out.print("Unsortiert: ");
for(int i=1; i <= n; i++) System.out.print(beispiel[i] + " ");
System.out.println("");

merge(beispiel, 1, n/2, n);

System.out.print("Sortiert : ");
for(int i=1; i <= n; i++) System.out.print(beispiel[i] + " ");
System.out.println("");
System.out.println("_____________________________________________");
}

public static void main(String[] args){
testeBeispiel(Beispiele.beispielA());
testeBeispiel(Beispiele.beispielB());
testeBeispiel(Beispiele.beispielC());
testeBeispiel(Beispiele.bespielD());
}

Meine Ideen:
ich weiß leider nicht wie ich vorgehen soll,wenn jemand für mich einen Ansatz hätte würde es super

danke im Voraus
22.04.2016 15:42 dereuler ist offline E-Mail an dereuler senden Beiträge von dereuler suchen Nehmen Sie dereuler in Ihre Freundesliste auf
Shizmo
Tripel-As


images/avatars/avatar-69.gif

Dabei seit: 16.10.2015
Beiträge: 174

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du suchst dir den Pseudocode von Merge-Sort bzw. Merge raus (zB Wikipedia) und implementierst ihn in Java.

Zum Beispiel:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
       public static void merge(int[] a, int p, int q, int r){
		int n1 = q-p+1;
		int n2 = r-q;
		
		int[] L = new int[n1+1];
		int[] R = new int[n2+1];
				
		for(int i = 1; i < L.length; i++)
			L[i-1] = a[p+i-1];
		for(int j = 1; j < R.length; j++)
			R[j-1] = a[q+j];
		
		
		L[n1] = Integer.MAX_VALUE;
		R[n2] = Integer.MAX_VALUE;
		
		int i = 0, j = 0;
		
		for(int k = p; k < r+1; k++){
			if(L[i] <= R[j]){
				a[k] = L[i];
				i++;
			}
			else{
				a[k] = R[j];
				j++;
			}
		}
	}


Das ist allerdings nur die Merge-Methode, Merge-Sort würde dann so aussehen:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
public static void mergeSort(int[] a, int p, int r){
		if(p < r){
			int q = (p+r)/2;
			mergeSort(a,p,q);
			mergeSort(a,q+1,r);
			merge(a,p,q,r);
		}
	}
23.04.2016 00:37 Shizmo ist offline Beiträge von Shizmo suchen Nehmen Sie Shizmo in Ihre Freundesliste auf
dereuler
Grünschnabel


Dabei seit: 22.04.2016
Beiträge: 2

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Was ist denn genau der Unterschied zwischen merge sort und Methode ??

In der Aufgabe stand ich soll die Methode merge implementieren deshalb

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von dereuler: 23.04.2016 05:58.

23.04.2016 05:56 dereuler ist offline E-Mail an dereuler senden Beiträge von dereuler suchen Nehmen Sie dereuler in Ihre Freundesliste auf
Shizmo
Tripel-As


images/avatars/avatar-69.gif

Dabei seit: 16.10.2015
Beiträge: 174

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Am besten du liest dir mal durch was Merge-Sort überhaupt ist, was es macht und wie er arbeitet, ist wirklich nicht schwer zu verstehen: https://de.wikipedia.org/wiki/Mergesort#Implementierung

Dann weißt du auch für was Merge-Sort Merge braucht Augenzwinkern
23.04.2016 10:18 Shizmo ist offline Beiträge von Shizmo suchen Nehmen Sie Shizmo in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » merge sort implentieren