Die binäre Suche ist ein effizienterer Algorithmus zum Suchen eines Elements in einem sortierten Array. Es funktioniert durch wiederholtes Teilen des Suchintervalls in zwei Hälften. Hier ist eine detaillierte Aufschlüsselung Ihrer BinarySearch-Funktion:
function binarySearch(array $arr, float|int $x) { $low = 0; $high = count($arr)-1; // $midIndex = (int) ($low ($high - $low)/2); $i = 0; while($low $arr[$midIndex]){ $low = $midIndex 1; echo $low."\n"; }else{ $high = $midIndex - 1; } } return "The number {$x} was not found in the array"; } echo binarySearch([1,2,3,4,5,6,7,8,9,10,44,45,46,47,48,49,50], 45)
Die Funktion BinarySearch akzeptiert zwei Parameter:
Die lineare Suche ist einer der einfachsten Suchalgorithmen, mit denen ein bestimmtes Element in einem Array gefunden wird. Lassen Sie uns die linearSearch-Funktion in PHP aufschlüsseln.
function linearSearch(array $arr, float|int $x) { for($i=0; $iDie Funktion linearSearch akzeptiert zwei Parameter:
- $arr: Ein Array von Ganzzahlen.
- $x: Die zu suchende Zahl, die eine Gleitkommazahl oder eine Ganzzahl sein kann.
- Die for-Schleife durchläuft jedes Element des Arrays. Die Funktion count($arr) gibt die Anzahl der Elemente im Array zurück.
- Innerhalb der Schleife prüft der Code, ob das aktuelle Element ($arr[$i]) gleich $x ist. Wenn eine Übereinstimmung gefunden wird, wird eine Meldung zurückgegeben, die den Index angibt, an dem die Nummer gefunden wurde.
- Wenn die Schleife abgeschlossen wird, ohne dass die Nummer gefunden wird, gibt die Funktion eine Meldung zurück, die angibt, dass die Nummer nicht im Array gefunden wurde.
- Die lineare Suche ist unkompliziert und einfach zu implementieren. Es überprüft nacheinander jedes Element des Arrays, bis das gewünschte Element gefunden oder das Ende des Arrays erreicht ist. Dieser Ansatz ist einfach, kann jedoch für große Arrays ineffizient sein, da er eine zeitliche Komplexität von O(n) aufweist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3