external quicksort
Download
Skip this Video
Download Presentation
External Quicksort

Loading in 2 Seconds...

play fullscreen
1 / 14

External Quicksort - PowerPoint PPT Presentation


  • 179 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' External Quicksort' - neka


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

ad