Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
6.5. GEOMETRISCHE ALGORITHMEN UND REELLE RAM 153<br />
Die Ausgabe des folgenden Algorithmus ist also e<strong>in</strong>e Liste mit Punkten vi (für e<strong>in</strong>ige<br />
i = 1, . . .,n), die die konvexe Hülle, im Uhrzeigers<strong>in</strong>n orientiert, repräsentiert.<br />
Algorithmus für die KONVEXE HÜLLE<br />
1. Sortieren<br />
Wir sortieren die gegebenen Punkte nach ihren x-Koord<strong>in</strong>aten. Weiter nehmen<br />
wir also an, dass vi für alle i = 1, . . .,n l<strong>in</strong>ks von vi+1 steht.<br />
2. Berechnung der oberen Hülle<br />
Der Punkt v1 liegt l<strong>in</strong>ks von allen anderen Punkten und der Punkt vn liegt<br />
rechts – also s<strong>in</strong>d v1 und vn bestimmt <strong>in</strong> der konvexen Hülle enthalten. Die<br />
konvexe Hülle besteht aus (a) e<strong>in</strong>er Liste mit Punkten von v1 zu vn, die wir<br />
die obere Hülle nennen und (b) e<strong>in</strong>er Liste mit Punkten von vn zu v1, der<br />
unteren Hülle.<br />
In dem folgenden Beispiel<br />
v8<br />
<br />
<br />
•<br />
<br />
<br />
<br />
<br />
v4 <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
v12<br />
<br />
<br />
<br />
•<br />
•<br />
<br />
obere Hülle<br />
v6<br />
<br />
<br />
<br />
<br />
<br />
•<br />
<br />
v10 <br />
<br />
<br />
v14<br />
v2 • <br />
<br />
v1 v5<br />
• •<br />
•<br />
<br />
<br />
•<br />
<br />
<br />
<br />
ist die obere Hülle<br />
und die untere Hülle ist<br />
<br />
v13<br />
v3<br />
<br />
•<br />
v7<br />
•<br />
untere Hülle<br />
v11 •<br />
•<br />
•<br />
v9<br />
v1, v4, v8, v12, v14<br />
v14, v13, v9, v3, v1.<br />
Die Berechnung der oberen Hülle verfolgt die folgende divide-and-conquer<br />
Strategie:<br />
2a Die Punkte v1, . . . , vn werden <strong>in</strong> zwei ungefähr gleich große Teile aufgeteilt.<br />
Nehmen wir an, dass n gerade ist, dann arbeiten wir mit der ” l<strong>in</strong>ken Hälfte“<br />
v1, . . .,v n/2 und der ” rechten Hälfte“ v n/2+1, . . . , vn. Für beide Hälften<br />
bestimmen wir rekursiv die obere Hülle.