www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Softwaretechnik und Programmierung" - Quicksort
Quicksort < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Quicksort: Randomisiertes Pivotelement?
Status: (Frage) überfällig Status 
Datum: 12:26 Do 18.04.2013
Autor: bandchef

Aufgabe
Bauen sie den gegebenen Quicksort-Algorithmus zu einem randomisierten Quicksort-Alogrithmus der auf gleichverteilten randomisierten Pivotelement basiert.

Hi Leute!

Ich hab hier einem Quicksort-Algorithmus, den ich nun zum gefragten randomisierten Quicksort-Alogrithmus umbauen muss. Hier der Code:

1:
2: void swap(int &a, int &b)
3: {
4: int h = b;
5: b = a;
6: a = h;
7: }
8:
9:
10:
11: void PreparePartition(int a[], int f, int l, int &p)
12: {
13: //Pivot-Element
14: //f = f + rand() % (l-f+1);
15: //int f = rand() % 9;
16: int pivot = a[f];
17: //int pivot = a[f];
18: p = f-1;
19:
20: for(int i = f; i <= l; i++)
21: {
22: if(a[i] <= pivot)
23: {
24: p++;
25: swap(a[i], a[p]);
26: }
27: }
28:
29: //Pivot an die richtige Stelle
30: swap(a[f], a[p]);
31: }
32:
33:
34:
35: void Quicksort(int a[], int f, int l)
36: {
37: int part;
38:
39: if(f < l)
40: {
41: PreparePartition(a,f,l,part);
42: Quicksort(a,f,part-1);
43: Quicksort(a,part+1,l);
44: }
45: }


In der Funktion PreparePartition seht ihr ganz am Anfang zwei auskommentierte Codefragmente, die ich ausprobiert habe. Leider funktioniert der Sortier-Algo dann nur noch sporadisch. Ist es also noch nicht ganz richtig.

Des Weiteren hab ich versucht, die Funktion Quicksort aus der main schon an der Stelle f mit randomisierten Zufallszahlen aufzurufen; leider auch ohne Erfolg...

Ich hoffe, jemand von euch kann mir helfen! Das wäre sehr nett!
Danke!

        
Bezug
Quicksort: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:20 Sa 20.04.2013
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]