Institut für Praktische Informatik Fachgebiet Programmiersprachen und Übersetzer Prof. Dr. Rainer Parchmann Parallele Algorithmen - SS 2008 Übungsblatt 6 vom 19.06.2008 Abgabe der Lösungen am 03.07.2008 in der Vorlesung Aufgabe 1 Gegeben sei ein geordneter Baum mit n Knoten in der Adjazenzlistendarstellung mit den zusätzlichen Zeigern zur effizienten Erzeugung eines Eulerschen Weges von der Wurzel r zur Wurzel. Modifizieren Sie den in der Vorlesung angegebenen Algorithmus zur Euler Tour“, so dass ” a) die Stufenzahl eines jeden Knoten im Baum b) die Anzahl der Knoten in jedem Teilbaum c) eine Numerierung nach der Präordnung mit O(log n) parallelen Schritten bestimmt wird. Aufgabe 2 Ein geordneter Baum, in dem jeder Knoten maximal d direkte Nachfolger besitzt, werde durch ein Feld von Knoten repräsentiert, wobei die direkten Nachfolger eines Knotens in aufeinander folgenden Einträgen des Feldes gespeichert sind. Jeder Knoten besitzt zwei Zeiger auf den jeweils ersten und letzten direkten Nachfolger dieses Knotens im Baum. Ist der Knoten ein Blatt, dann haben beide Zeiger den Wert NIL. Wie kann man bei dieser Darstellung des Baumes eine Euler Tour effizient berechnen? Aufgabe 3 Sei A = (a0 , a1 , . . . , an−1 ) ein Feld mit Elementen aus einer geordneten Menge, wobei n o.B.d.A eine Zweierpotenz ist. Das Suffix-Minima-Problem besteht darin, für jedes i, 0 ≤ i ≤ n − 1 , das minimale Element aus {ai , ai+1 , . . . , an−1 } zu bestimmen. In analoger Weise kann man das Präfix-Minima-Problem definieren. Entwickeln Sie einen Algorithmus, der die Suffix- und Präfix-Minima von A in O(log n) Schritten auf einer EREW-PRAM bestimmt. Aufgabe 4 Sei A = (a0 , a1 , . . . , an−1 ) ein Feld, in dem Farben abgespeichert sind. Es gibt insgesamt k Farben {c1 , . . . , ck }, wobei k eine Konstante ist. Für jeden Index i, 0 ≤ i < n, soll ein k-Tupel von Indizes (i1 , . . . , ik ) bestimmt werden, so daß ij der Index des am nähesten links von ai stehenden Elementes mit Farbe cj ist, d.h. ij = max {r | ar = cj , r ≤ i}. Wie kann man dieses Problem auf einer EREW–PRAM in O(log n) Schritten lösen?.