Paralleler Algorithmus zum Ermitteln des Maximums in Zeit unter Verwendung von Prozessoren

11

In der Klasse wurde uns ein Algorithmus vorgestellt, mit dem das Maximum in einem Array parallel zur -Zeitkomplexität mit Computern ermittelt werden kann.Ö(1)n2

Der Algorithmus war:

Bei einem Array A der Länge n:

  1. Erstellen Sie ein Flag-Array B der Länge n und initialisieren Sie es mit Computern mit Nullen .n
  2. Vergleichen Sie alle 2 Elemente und schreiben Sie 1 in B am Index des Minimums mit Computern.n2
  3. Finden Sie den Index mit der 0 in A mit Computern.n

Der Dozent neckte uns damit, dass dies mit Computern und mit Zeitkomplexität möglich sei.nLognLogn

Nachdem ich viel nachgedacht hatte, konnte ich nicht herausfinden, wie es geht. Irgendeine Idee?

Gil
quelle

Antworten:

9

n/.LognLognLognn/.LognLogn

n1+ϵϵ>0

Yuval Filmus
quelle
Ö(1)Ö(Logn)
Ω(n)