Die duale Suche ist ein effektiver Algorithmus - seine Bewertung der Komplexität O(log2(n)) zu einer Zeit wie eine Routine, konsequente Suche O(n) ♪ Dies bedeutet, dass beispielsweise für einen Satz von 1.024 Elementen eine lineare Suche, im schlimmsten Fall, wenn das Anspruchselement nicht in der Masse ist, alle 1024 Elemente abdeckt. Binärsuche ist genug \(log_2(1024) = 10\) Elemente. Dieses Ergebnis wird erreicht, indem der Suchbereich nach dem ersten Schritt des Zyklus auf 512 Elemente reduziert wird, nach dem zweiten Schritt auf 256, etc. Fehlen eines solchen Algorithmus ist die Anforderung der Konsistenz der Daten, sowie die Möglichkeit des Zugriffs auf jedes dauerhafte (nicht-Daten) Datenelement. Somit kann der Algorithmus nicht an unregulierten Massen und Datenstrukturen arbeiten, die auf einer Linkliste aufgebaut sind.
Durchführung
HTML generiert mit Hilite. ich Tschüss. (rechts) ation 1) / Solange die rechte Linie rechts nach links ist.ZMitte = (links) + Recht / 2; / Suchbereich wenn (A[Mitte) │ (b)♪Recht = Mittel; / Die richtige Linie verschieben Anderelinks = Mittel; / Ansonsten bewegen wir die linke Linie.Knospenwenn (A[rechts]) == sync, berichtigt von elderman == X♪Fazit des Rechts;
AndereSchlußfolgerung -1;
Wo: А - die Referenzmasse, N Größe der Masse, X - Nummer.
|