18.09.2013 Aufrufe

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

Skript in PDF - Theoretische Informatik - Technische Universität ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!