Das Prinzip der binären Suche besteht darin, die Mitte des Suchraums zu betrachten und anschließend den Suchraum für die weitere Suche auf eine der beiden Hälften einzuschränken. Die Mitte des Suchraums ergibt sich aus folgender Formel:
m = (r + l) / 2 = l + (r − l) · ½
Anstatt ungezielt die Mitte zu nehmen, kann man auch schätzen, an welcher Position sich der gesuchte Schlüssel wahrscheinlich befindet. Anstelle der Mitte wird dann diese geschätzte Position betrachtet. Die folgende Formel ersetzt den Faktor ½ durch eine lineare Interpolation.
m = l + (r − l) · (k − Al) / (Ar − Al)
findeInterpoliert
analog zu Aufgabe 3-1.Geben Sie die Zeitkomplexität der bisher behandelten Suchalgorithmen in der Groß-O-Notation an. Nennen Sie jeweils die Komplexität für den best case, den average case und den worst case.
Wandeln Sie die Rekursion im Algorithmus der binären Suche in eine Iteration um.
Menge
aus Übungsblatt 3 mit einer Objektmethode void bogoSort ()
, die den internen Array aufsteigend sortiert. Verwenden Sie den nachfolgend angegebenen Algorithmus.Gegeben: Array A
Start$Id: HEADER.html 2009-05-11 $