www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 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 "Algorithmen und Datenstrukturen" - Quicksort
Quicksort < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Quicksort: Klausuraufgabe
Status: (Frage) beantwortet Status 
Datum: 21:01 Mo 31.01.2011
Autor: bobbert

Aufgabe
Sortieren Sie die Zahlenfolge  8 5 4 4 2 9 6  nach der Methode des Quicksort. Stellen Sie die Abeitsweise des Algortihmus dar, in dem Sie jeweils das Ergebnis eines rekursiven Durchlaufs in eine neue Zeile schreiben. Kreisen Sie das Pivotelement ein und markieren Sie die betrachtete Teilfolge. Notieren Sie außerdem neben der Zeile, welche Wlemente in der Zeile jeweils miteinander getauscht wurden.

Ansatz:  

            
[mm] \vmat{ & & &P & & \\8 &5 &4 &[u]4[/u]& 2 &9 &6\\i & & & & & &j} [/mm] //Pivot (P) frei nach Schnauze ausgewählt
        
                                                                                        

[mm] \vmat{2& 5& 4& [u]4[/u]& 8& 9& 6\\ & i & & j& & &} [/mm]       // Tausch : 2 , 8
  
[mm] \vmat{2& [u]4[/u]& 4& 5& 8& 9& 6\\ & i_j & & & & &} [/mm]          //Tausch (T): 4 ,5 danach 4 mit sich selbst
                  
[mm] \vmat{2 & [u]4[/u] \\i &j } [/mm]   // [mm] \*^1) [/mm] Warum fängt der Algorithmus zuerst mit der linken Seite an und nicht der rechten?
            

[mm] \vmat{2 & [u]4[/u] \\ & i_j } [/mm]  // T: 4 mit sich selbst
        
                      [mm] \vmat{ 5 &[u]8[/u]& 9& 6\\&i & &j} [/mm]  //Pivot willkürlich gewählt
                    
                       [mm] \vmat{ 5 & 6& 9& [u]8[/u] \\ & & i_j& } [/mm] //Tausch: 8, 6
                                
              [mm] \vmat{ 5& [u] 6[/u]} [/mm]  //Tausch 6 mit sich selbst
                                
                                         [mm] \vmat{[u]9[/u] & 8 } //\*^2: [/mm] Wieso ist 8 nicht nach dem Prinzip des Algorithmus alleine?   Natürlich würde dann 8 nicht in richtiger Reihenfolg sein. Dachte aber,  dass das Array an der Überschneidungszahl (Ü) geteilt wird und Ü nicht in ein weiteres array gespeichert wird.
                                          
                                        [mm] \vmat{8&[u]9[/u] } [/mm]    //8 mit 9  fertig



Fragen: [mm] \*^1 [/mm]  & [mm] \*^2 [/mm] (SIEHE OBEN)

              


        
Bezug
Quicksort: Antwort
Status: (Antwort) fertig Status 
Datum: 22:14 Mo 31.01.2011
Autor: felixf

Moin!

> Sortieren Sie die Zahlenfolge  8 5 4 4 2 9 6  nach der
> Methode des Quicksort. Stellen Sie die Abeitsweise des
> Algortihmus dar, in dem Sie jeweils das Ergebnis eines
> rekursiven Durchlaufs in eine neue Zeile schreiben. Kreisen
> Sie das Pivotelement ein und markieren Sie die betrachtete
> Teilfolge. Notieren Sie außerdem neben der Zeile, welche
> Wlemente in der Zeile jeweils miteinander getauscht
> wurden.
>  Ansatz:  
>
>
> [mm]\vmat{ & & &P & & \\8 &5 &4 &[u]4[/u]& 2 &9 &6\\i & & & & & &j}[/mm]
> //Pivot (P) frei nach Schnauze ausgewählt
>          
>
>
> [mm]\vmat{2& 5& 4& [u]4[/u]& 8& 9& 6\\ & i & & j& & &}[/mm]       //
> Tausch : 2 , 8
>
> [mm]\vmat{2& [u]4[/u]& 4& 5& 8& 9& 6\\ & i_j & & & & &}[/mm]          
> //Tausch (T): 4 ,5 danach 4 mit sich selbst

Kann es sein, dass das Pivotelement nachher die zweite Vier ist? Nach dem letzten Tauschen?

> [mm]\vmat{2 & [u]4[/u] \\i &j }[/mm]   // [mm]\*^1)[/mm] Warum fängt der
> Algorithmus zuerst mit der linken Seite an und nicht der
> rechten?

Gegenfrage: warum nicht? Es ist doch voellig egal, welche Seite zuerst sortiert wird, da zwischen den beiden Seiten keine Interaktion mehr besteht.

Der Beispiel-Code auf Wikipedia faengt z.B. auch mit der linken Seite an.

> [mm]\vmat{2 & [u]4[/u] \\ & i_j }[/mm]  // T: 4 mit sich selbst
>
> [mm]\vmat{ 5 &[u]8[/u]& 9& 6\\&i & &j}[/mm]  //Pivot willkürlich gewählt
>                      
> [mm]\vmat{ 5 & 6& 9& [u]8[/u] \\ & & i_j& }[/mm] //Tausch: 8, 6
>
> [mm]\vmat{ 5& [u]6[/u]}[/mm]  //Tausch 6 mit sich selbst
>
> [mm]\vmat{[u]9[/u] & 8 } //\*^2:[/mm] Wieso ist 8
> nicht nach dem Prinzip des Algorithmus alleine?  
> Natürlich würde dann 8 nicht in richtiger Reihenfolg
> sein. Dachte aber,  dass das Array an der
> Überschneidungszahl (Ü) geteilt wird und Ü nicht in ein
> weiteres array gespeichert wird.

Das ist schon etwas komisch, weil oben ja die zweite Vier weggelassen wurde.

Wie genau sieht der Pseudocode vom Algorithmus aus? Ohne den lassen sich hier nicht wirklich Aussagen treffen, und insbesondere kann man deine Frage so nicht beantworten.

LG Felix


Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]