Praktische Grenzen der Berechenbarkeit - Informatik
Praktische Grenzen der Berechenbarkeit - Informatik
Praktische Grenzen der Berechenbarkeit - Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
im ungünstigsten Fall<br />
tseq(n) = 2 + n · (1 + 1 + 2)<br />
= 4n + 2<br />
tseq ∈ O(n)<br />
Die Funktionsweise <strong>der</strong> binären Suche (Abbildung 6), die wir als nächstes<br />
untersuchen, wird oft am Beispiel <strong>der</strong> Suche in einem Telefonbuch verdeutlicht,<br />
obwohl <strong>der</strong> Vergleich hinkt. Es wird zunächst <strong>der</strong> Index des mittleren Feldelementes<br />
bestimmt. Wird die gesuchte Zahl an dieser Stelle gefunden, ist die Suche<br />
beendet. An<strong>der</strong>nfalls wird auf die gleiche Art in <strong>der</strong> linken bzw. rechten Hälfte<br />
weiter gesucht, je nach Größe <strong>der</strong> zuletzt mit dem Suchschlüssel verglichenen Zahl.<br />
Ist die Anzahl <strong>der</strong> Elemente im aktuell zu durchsuchenden Feldbereich gerade,<br />
wird <strong>der</strong> größte Feldindex <strong>der</strong> linken Hälfte als Mittelwert verwendet.<br />
Algorithmus Binäre Suche<br />
(Gegeben: Ein sortiertes n-dimensionales Feld a<br />
und ein Suchschlüssel s)<br />
begin<br />
gefunden←false<br />
l←1<br />
r←n<br />
repeat<br />
m←(l+r) div 2<br />
if a[m]=s then<br />
gefunden←true<br />
if a[m]>s then<br />
r←m-1<br />
if a[m]r<br />
end<br />
Abbildung 6: Algorithmus Binäre Suche<br />
Dadurch ergeben sich maximal ⌈log 2 n⌉ Durchläufe <strong>der</strong> Repeat–Schleife (Hier<br />
gibt ⌈log 2 n⌉ den Logarithmus <strong>der</strong> auf n folgenden Zweierpotenz an, falls log 2 n<br />
nicht ganzzahlig ist). Innerhalb <strong>der</strong> Schleife sind jeweils drei Vergleiche und zwei<br />
Wertzuweisungen zu bearbeiten. Zusammen mit den drei Zuweisungen am Anfang,<br />
die lediglich <strong>der</strong> Initialisierung <strong>der</strong> Variablen dienen, ergibt sich als Zeit-<br />
10