External quicksort
This presentation is the property of its rightful owner.
Sponsored Links
1 / 14

External Quicksort PowerPoint PPT Presentation


  • 115 Views
  • Uploaded on
  • Presentation posted in: General

External Quicksort. Optimierung des Quicksort-Verfahrens für Speicherhierarchien Martin Gronemann, Bernd Zey. Überblick. Quicksort - Erinnerung Intuitive Lösung Distribution-Sort (external Quicksort). 12. 12. 42. 22. 1. 1. 60. 55. 60. 5. 12. 12. 5. 22. 1. 17. 23. 55. 55.

Download Presentation

External Quicksort

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


External quicksort

External Quicksort

Optimierung des Quicksort-Verfahrens für Speicherhierarchien

Martin Gronemann, Bernd Zey


Berblick

Überblick

  • Quicksort - Erinnerung

  • Intuitive Lösung

  • Distribution-Sort (external Quicksort)


Quicksort erinnerung

12

12

42

22

1

1

60

55

60

5

12

12

5

22

1

17

23

55

55

60

22

42

23

17

23

17

55

12

5

22

1

60

17

23

55

22

60

42

1

5

12

22

17

23

42

55

60

L

L

L

R

R

L

L

R

R

12

12

5

5

5

23

23

23

1

1

60

60

17

17

55

55

22

22

22

42

42

42

12

5

22

1

23

60

17

55

22

60

42

12

5

23

22

1

60

17

55

23

22

42

1

5

12

17

22

23

42

55

60

Quicksort - Erinnerung

Pivot-Element:

23

12

42

23

1

60

17

55

22

5


Intuitive l sung

Intuitive Lösung

  • Lade den Wert des Pivot-Elements und die ersten und letzen B Array-Elemente in den Main Memory

  • Starte normalen Quicksort

  • Laden und Schreiben bei Bedarf


Intuitive l sung beispiel

R

R

R

R

R

R

R

R

R

R

L

L

L

L

L

L

L

L

L

L

Pivot

Intuitive Lösung: Beispiel

EM:

MM:


Analyse intuitive l sung

Analyse: Intuitive Lösung

  • Analyse der I/O‘s äquivalent zur Laufzeitanalyse von Quicksort

  • Pro Rekursionstiefe: O(N/B) I/O‘s benötigt

  • Im average case beträgt die Rekursionstiefe O(log2 N)

    • I/O-Anzahl O(N/B log2 N/B)

    • interne Laufzeit O(N log2 N)

  • Im worst case (N2)


Distribution sort

Distribution Sort

  • Mit mehreren Pivot-Elementen arbeiten

  • Pivot-Elemente definieren „Buckets“

  • Element muss in „Bucket“ einsortiert werden

  • Jeden „Bucket“ rekursiv sortieren bis Blockgröße B erreicht ist


Berechnung der pivot elemente 1

Berechnung der Pivot-Elemente (1)

  • Unterteile Eingabemenge in N/MChunks

  • Sortiere jeden Chunk

  • Nehme jedes a-te Element aus jedem Chunk in Array U auf (|U| = N/a)

  • Sortiere U

  • Berechne µ-1 äquidistante Pivot-Elemente aus dem Array U mit BFPRT (Blum-Floyd-Pratt-Rivest-Tarjan)


Berechnung der pivot elemente 2

Berechnung der Pivot-Elemente (2)

Chunks

(sortiert)

Array U

(sortiert)

BFPRT

µ-1 Pivot-Elemente


Analyse berechnung der pivot elemente

Analyse:Berechnung der Pivot-Elemente

  • U kann mit O(N/B) I/O‘s erzeugt werden.

  • BFPRT benötigt

    O((|U|/B) lg µ) =

    O((N/aB) lg µ) I/O‘s

    Für a ≥ lg µ:

    O(N/B)

  • Insgesamt O(N/B) I/O‘s für die Berechnung der Pivot-Elemente


Rekursion

Rekursion

  • Sortiere jedes Element in den richtigen „Bucket“ (Distribution)

    Bi := {x | pi ≤ x < pi+1}

  • Starte Rekursion auf jedem „Bucket“

  • Wenn „Bucket“ Blockgröße erreicht hat dann intern sortieren


Beispiel 4

-∞

Pivot 1

Pivot 2

Pivot 3

Beispiel µ=4

Blockgröße

Rekursionstiefe: O(logµN/B)


Analyse

Analyse

  • Rekursionstiefe bis zur Blockgröße: O(logµ N/B) I/O‘s

  • Einsortieren kostet pro Rekursionstiefe O(N/B) I/O‘s

  • Gesamt: O(N/B logµ N/B) I/O‘s


Literatur

Literatur

  • Alok Aggarwal and Jerey Scott Vitter, 1988:

    „The Input/Output Complexity of Sorting and Related Problems“

  • Jeff Erickson - Prof. an der University of Illinois: „Introduction: the standard external-memory model; upper and lower bounds for scanning (Θ(n)), searching (Θ(logB n) via B-trees), and sorting (Θ(n logm n) via mergesort); external comparison trees“

    http://compgeom.cs.uiuc.edu/~jeffe/teaching/473/01-search+sort.pdf


  • Login