Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Skript in PDF - Theoretische Informatik - Technische Universität ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
154 KAPITEL 6. KOMPLEXITÄT VON ALGORITHMEN<br />
v1 = p1<br />
pi0<br />
.<br />
p2<br />
..<br />
•<br />
<br />
<br />
<br />
.<br />
•<br />
<br />
<br />
<br />
<br />
..<br />
<br />
•<br />
<br />
<br />
•<br />
<br />
<br />
<br />
•<br />
<br />
<br />
<br />
<br />
<br />
ps<br />
<br />
<br />
<br />
<br />
<br />
<br />
• <br />
.<br />
•<br />
q2<br />
•<br />
<br />
<br />
•<br />
<br />
•<br />
q1<br />
..<br />
•<br />
<br />
<br />
<br />
.<br />
•<br />
<br />
<br />
<br />
<br />
..<br />
<br />
•<br />
<br />
<br />
•<br />
<br />
<br />
<br />
•<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
• <br />
<br />
•<br />
• <br />
<br />
•<br />
<br />
•<br />
obere Hülle für v1, . . . , v n/2<br />
Wir bezeichnen die obere Hülle von v1, . . . , v n/2 mit<br />
p1, p2, . . . , ps<br />
und die obere Hülle für v n/2+1, . . .,vn mit<br />
q1, q2, . . .,qt.<br />
qj0<br />
qt = vn<br />
obere Hülle für v n/2+1, . . . , vn<br />
2b Wir berechnen die obere Tangente der beiden gefundenen oberen Hüllen: das<br />
ist das Segment L(pi0, qj0), so dass alle Punkte p1, . . .,ps, q1, . . .,qt unter ihm<br />
liegen.<br />
2c Die obere Hülle der Punkte v1, . . .,vn ist<br />
3. Berechnung der unteren Hülle<br />
Dies geschieht analog zu (2).<br />
p1, p2, . . . , pi0, qj0, qj0+1, . . . , qt.<br />
4. Die konvexe Hülle ergibt sich aus der oberen Hülle gefolgt von der unteren<br />
Hülle.<br />
Zeitkomplexität: Schritt (1) hat die Zeitkomplexität O(n log n). Wir zeigen jetzt,<br />
dass auch Schritt (2) diese Zeitkomplexität hat; analoges gilt für Schritt (3). Da<br />
(4) <strong>in</strong> n Zeite<strong>in</strong>heiten geschrieben werden kann, ist damit bewiesen, dass der ganze<br />
Algorithmus die Zeitkomplexität<br />
O(n log n)<br />
hat. Wir zeigen später, dass dies optimal ist.<br />
Zeitkomplexität von Schritt (2): Sie hängt von der Zeitkomplexität von (2b) ab.<br />
Wir zeigen, dass die obere Tangente <strong>in</strong> O(log n) Schritten gefunden werden kann.<br />
Dann folgt, falls Schritt (2) <strong>in</strong> t(n) Zeite<strong>in</strong>heiten berechnet wird, dass die Schritte<br />
(2a) - (2c) die folgende Zeitkomplexität haben:<br />
(2a) 2t( n<br />
(2b)<br />
2 )<br />
O(log n)<br />
Zeite<strong>in</strong>heiten<br />
Zeite<strong>in</strong>heiten<br />
(2c) O(n) Zeite<strong>in</strong>heiten<br />
Es gibt also Konstanten n0 und K, so dass<br />
für alle n ≥ n0 gilt t(n) ≤ 2t( n<br />
) + K.<br />
2