Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung des PHP -binären Suchalgorithmus und Beispiel -Tutorial

Detaillierte Erläuterung des PHP -binären Suchalgorithmus und Beispiel -Tutorial

M66 2025-06-23

1. Einführung in den Suchalgorithmus "Binärer" PHP

Der halbfindende Suchalgorithmus in PHP, auch als Binärsuche bezeichnet, ist ein klassischer Algorithmus, mit dem Elementpositionen in geordneten Arrays effizient lokalisiert werden. Es verengt schnell den Suchbereich, indem es den Suchbereich in zwei Hälften ständig aufteilt und die Größenbeziehung zwischen dem Zielelement und dem Zwischenelement beurteilt, bis das Ziel gefunden oder nicht existiert.

1.1 Algorithmusprinzipien

Zu den Kernschritten der Klapp halbherstellung gehören:

Stellen Sie den Startindex des Arrays nach links und den Endindex nach rechts fest.

Berechnen Sie den Zwischenindex mittel , d. H. (links + rechts) / 2 .

Vergleichen Sie den Zielwert mit dem Zwischenelement: Wenn er gleich ist, geben Sie den Index mittel zurück und die Suche ist erfolgreich.

Wenn der Zielwert geringer ist als das mittlere Element, setzen Sie sich rechts auf Mitte 1 und suchen Sie weiter in der linken Hälfte.

Wenn der Zielwert größer als das mittlere Element ist, links auf Mid + 1 einstellen und weiter in der rechten Hälfte suchen.

Wiederholen Sie die obigen Schritte, bis der Zielwert oder links> rechts gefunden wird, was angibt, dass die Suche fehlgeschlagen ist.

1.2 Algorithmus Beispiel

Das Folgende ist ein PHP-Code-Beispiel, um die Implementierung des halbfindenden Suchalgorithmus zu demonstrieren:

 
function binarySearch($arr, $target) {
    $left = 0;
    $right = count($arr) - 1;
    while ($left <= $right) {
        $mid = intval(($left + $right) / 2);
        if ($arr[$mid] == $target) {
            return $mid; // Der Ort des Zielwerts
        }
        if ($arr[$mid] < $target) {
            $left = $mid + 1; // Suchen Sie weiter auf der rechten Hälfte
        } else {
            $right = $mid - 1; // Suchen Sie weiter auf der linken Hälfte
        }
    }
    return -1; // Der Zielwert wurde nicht gefunden
}
<p>$arr = [1, 3, 5, 7, 9, 11, 15];<br>
$target = 7;<br>
$index = binarySearch($arr, $target);<br>
if ($index != -1) {<br>
echo "Zielwert $target Die Position im Array ist $index";<br>
} else {<br>
echo "Zielwert $target Existiert nicht im Array";<br>
}<br>

Der obige Code definiert eine Binarysearch -Funktion, die geordnete Arrays und Zielwerte als Parameter akzeptiert, die Indexposition des Zielwerts im Array zurückgibt und -1 zurückgibt, wenn er nicht vorhanden ist.

1.3 Algorithmusanalyse

Die zeitliche Komplexität des halbfindenden Suchalgorithmus ist O (log n) , wobei n die Arraylänge ist. Jede Suche verringert den Bereich um die Hälfte, was viel effizienter ist als die lineare Lookup.

Daher ist eine binäre Suche sehr geeignet für schnelle Positionierungselemente in großen geordneten Arrays.

2. Wichtigkeitsanalyse

2.1 Schnelle Positionierung großer bestellter Arrays

Die binäre Suche kann den Suchbereich erheblich einschränken, die Anzahl der Vergleiche verringern und eine schnelle Positionierung erreichen, insbesondere für Szenarien mit großen Datenvolumina.

2.2 Effizienz der Programmausführung verbessern

In Anwendungen mit häufigen Suchvorgängen kann die Verwendung von Binärsuche die Zeitaufwand erheblich reduzieren, die Gesamtausführungseffizienz verbessern und unnötige Durchquote vermeiden.

3. Zusammenfassung

Dieser Artikel erläutert systematisch die Prinzipien und die Implementierung des mittelfachen halbfinischen Algorithmus mit halbfinischem (binärer Suche) und zeigt die spezifische Verwendung durch Code-Beispiele an. Dieser Algorithmus hat die Eigenschaften einer geringen Zeitkomplexität und hoher Effizienz und ist für eine effiziente Suche nach geordneten Arrays geeignet. Durch die Beherrschung dieses Algorithmus wird die Fähigkeit der Entwickler verbessert, mit Problemen und Programmleistung umzugehen.