Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erläuterung der Beispiele für binäre Suchalgorithmen in PHP
Dieser Artikel stellt hauptsächlich den binären Suchalgorithmus in PHP vor. Er fasst die Prinzipien und spezifischen Implementierungstechniken des binären Suchalgorithmus in Form von Beispielen zusammen.
Binär Suche in erweiterten Punkten Es kann natürlich in der Entwicklung verwendet werden, wenn Sie nach einem Job in einem großen Unternehmen suchen. Schauen wir uns einen Artikel über die Implementierung der binären Suche in PHP an Einzelheiten sind wie folgt.
Dichotomie (Dichotomie) ist die Methode der Zweiteilung. Sei [a, b] das geschlossene Intervall von R. Die sukzessive Dichotomiemethode besteht darin, die folgende Intervallsequenz zu erstellen ([an, bn]): a0= a, b0=b, und für jede natürliche Zahl n ist [an+1, bn+1] entweder gleich [an, cn] oder gleich [cn, bn] , wobei cn den Mittelpunkt von [an, bn] darstellt.
Beispiel 1:
header('Content-Type: text/html; charset=utf-8;'); $arr = array(2,33,22,1,323,321,28,36,90,123); sort($arr); //二分法查找 echo $index = binarySearch($arr,321); function binarySearch($arr,$key){ $len = count($arr); $mid = -1; $start = 0; $end = $len-1; while($start<=$end){ $mid = (int)(($start+$end)/2); echo $mid."\n"; if($arr[$mid] == $key){ return $mid; }else if($arr[$mid] < $key){ $start = $mid+1; }else if($arr[$mid] > $key){ $end = $mid-1; } } }
Beispiel 2:
<?php //search函数 其中$array为数组,$k为要找的值,$low为查找范围的最小键值,$high为查找范围的最大键值 function search($array, $k, $low=0, $high=0) { if(count($array)!=0 and $high == 0) //判断是否为第一次调用 { $high = count($array); } if($low <= $high) //如果还存在剩余的数组元素 { $mid = intval(($low+$high)/2); //取$low和$high的中间值 if ($array[$mid] == $k) //如果找到则返回 { return $mid; } elseif ($k < $array[$mid]) //如果没有找到,则继续查找 { return search($array, $k, $low, $mid-1); } else { return search($array, $k, $mid+1, $high); } } return -1; } $array = array(4,5,7,8,9,10); //测试search函数 echo search($array, 8); //调用search函数并输出查找结果 ?>
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.
Verwandte Empfehlungen:
phpDatenbankoperation implementieren Modellklasse
phpURL-Verschlüsselung und -Entschlüsselung implementieren
PHP foreach implementiert die Durchquerung mehrdimensionaler Arrays
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Beispiele für binäre Suchalgorithmen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!