prev up inhalt next


8.1 PRAM Sort

Gegeben n Zahlen a0,a1,...,an - 1 ; alle verschieden. Die Aufgabe besteht darin, die n Zahlen zu sortieren.
Idee:
Beschreibe eine Matrix c mit dem Ergebnis aller paarweisen Vergleiche. Ermittele dann für jede Zahl, wie viele Zahlen kleiner sind.

Verwendet wird eine CREW PRAM mit n 2 Prozessoren.

FOR ALL 0 $\leq$ i,j $\leq$ n - 1 DO IN PARALLEL
     Pij : IF a[i] < a[j] THEN c[i,j] := 1
             ELSE c[i,j] := 0
         END
END
Die Anzahl der Einsen in der j -ten Spalte der Matrix c gibt an, wie viele Zahlen kleiner sind als aj . Also liefert die Spaltensumme

die Position von Zahl aj in der sortierten Folge.

n 2 Prozessoren berechnen cij in Zeit O(1) .
n 2 Prozessoren berechnen bj in Zeit O(log n) .
Gesamtzeit: O(log n) , Kosten O(n 2 · log n) .


prev up inhalt next