11.10.2013 Aufrufe

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Dann werden für alle Æ Suchvorgänge insgesamt<br />

Å Æ<br />

Ò ¡<br />

Schritte benötigt. Die Auswertung ergibt:<br />

Å Æ<br />

Ò<br />

Æ<br />

Ò<br />

Ò Æ<br />

Ò<br />

¡ <br />

¡ Ò Ò<br />

Für eine Suche werden im Mittel demnach Ë Å<br />

Æ<br />

Ë Ò<br />

Æ<br />

Ò<br />

¡ Ò<br />

4.4. Komplexität<br />

Æ ¡ Ò<br />

Schritte benötigt, also:<br />

Ñ ÅØØÐ (bei Gleichverteilung)<br />

Bemerkung 4.9 Unser Algorithmus ist für das gestellte Problem keineswegs der<br />

schnellste, sondern eher einer der langsameren. Es gibt <strong>Algorithmen</strong>, die die Suche<br />

in Listen (oder Tabellen) mit Ò Einträgen unter speziellen Voraussetzungen<br />

i.w. mit einer konstanten, nicht von Ò anhängigen, Anzahl von Schritten lösen!<br />

Die besten Suchverfahren für direkten Zugriff, die auch sequentielle Verarbeitung<br />

in der Ordnung der Schlüssel zulassen, benötigen eine logarithmische Anzahl von<br />

Schritten,d.h. Ë ¡ ÐÓ ¡ Ò , wobei Ê Konstante sind.<br />

4.4.2. Komplexitätsklassen<br />

Meist geht es bei der Analyse der Komplexität von <strong>Algorithmen</strong> bzw. Problemklassen<br />

darum, als Maß für den Aufwand eine Funktion<br />

Æ Æ<br />

anzugeben, wobei Ò bedeutet: “Bei einem Problem der Größe Ò ist der<br />

Aufwand . Die “Problemgröße” Ò bezeichnet dabei in der Regel ein grobes Maß für<br />

den Umfang einer Eingabe, z.B. die Anzahl der Elemente in einer Eingabeliste oder<br />

dir Größe eines bestimmten Eingabewertes. Der “Aufwand” ist in der Regel ein<br />

grobes Maß für die Rechenzeit, jedoch ist auch der benötigte Speicherplatz zuweilen<br />

Gegenstand der Analyse. Die Rechenzeit wird meist dadurch abgeschätzt, daß man<br />

zählt, wie häufig eine bestimmte Art von Operation ausgeführt wird, z.B. Speicherzugriffe,<br />

Multiplikationen, Additionen, Vergleiche, etc. Auf diese Weise erhält man<br />

ein maschinenunabhängiges Maß für die Rechenzeit.<br />

97

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!