Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Suchalgorithmus im PHP-Array? Wie finde ich es?

Was ist der Suchalgorithmus im PHP-Array? Wie finde ich es?

慕斯
慕斯Original
2021-06-23 18:02:371627Durchsuche

Es gibt viele Suchalgorithmen in PHP. Welche kennen Sie? Wie verstehen Sie die Bedeutung von Suchalgorithmen? In diesem Artikel erfahren Sie, was ein Suchalgorithmus in einem Array ist. Wie finde ich es?

Verwandte Empfehlungen: Was ist das Fassadenmuster in PHP? Was sind seine Stärken? Welche anwendbaren Szenarien gibt es?

Suchalgorithmus:

Suchalgorithmus Bedeutung:

Suchen ist das Auffinden eines bestimmten Informationselements in einer großen Informationsmenge. In Computeranwendungen ist die Suche eine häufig verwendete Grundoperation.

Der Suchalgorithmus bezieht sich auf die Codestruktur, die dem Suchvorgang entspricht. Es dient dazu, die gewünschten Elemente in mittleren und großen Arrays schnell zu finden. .

Sequentieller Suchalgorithmus:

Sequentielle Suche wird auch als Forschungssuche bezeichnet. Sie beginnt am Ende der Datenstruktur-Lineartabelle, scannt nacheinander und vergleicht die gescannten Knotenschlüsselwörter nacheinander mit dem angegebenen Wert k sind gleich. Dies bedeutet, dass die Suche erfolgreich ist. Wenn der Knoten mit dem Schlüsselwort k nicht gefunden wird, bedeutet dies, dass die Suche fehlgeschlagen ist.

Nehmen wir den Code als Beispiel:

<?php
//查找算法
//顺序查找
$arr = array(1,3,6,8,23,68,100);
//顺序查找:从数组第一个元素开始,挨个匹配
function check_order($arr , $num){
//全部匹配
for($i = 0,$len = count($arr);$i <$len;$i++){
//判断
if($arr[$i] == $num){
return $i;
}
}
return false ;
}
var_dump(check_order($arr,5));

Was ist der Suchalgorithmus im PHP-Array? Wie finde ich es?

Binärer Suchalgorithmus

Bei der binären Suche müssen die Knoten in der linearen Tabelle in aufsteigender oder absteigender Reihenfolge nach Schlüsselwortwert sortiert werden, und der Anfangswert ist k Wird zuerst mit dem Schlüsselwortvergleich des Zwischenknotens verwendet, teilt der Zwischenknoten die lineare Tabelle in zwei Untertabellen auf. Wenn sie gleich sind, ist die Suche erfolgreich, wenn sie nicht gleich sind, das Vergleichsergebnis von k und dem Schlüsselwort des Zwischenknotens wird verwendet, um zu bestimmen, welche Untertabelle als nächstes durchsucht werden soll, und so weiter, bis die Suche gefunden wird oder die Suche endet und festgestellt wird, dass kein solcher Knoten in der Tabelle vorhanden ist.

Halbalgorithmus-Idee:

1. Berechnen Sie die Länge des Arrays.

2. Bestimmen Sie die Position der Zeiger auf der linken und rechten Seite.

3. Finden Sie die mittlere Position;

5. Definieren Sie dann die Grenzen entsprechend der Größe neu.

<?php
//查找算法
//顺序查找
$arr = array(1,3,6,8,23,68,100);
//顺序查找:从数组第一个元素开始,挨个匹配
function check_order($arr , $num){
//全部匹配
for($i = 0,$len = count($arr);$i <$len;$i++){
//判断
if($arr[$i] == $num){
return $i;
}
}
return false ;
}
//var_dump(check_order($arr,5));
//二分查找算法
//1、 得到数组边界
$right = count($arr);
$left= 0;
$res = 3;
//2、循环匹配,
while($left <=$right){
//3、得到中间位置
$middle = floor(($right + $left) / 2);
//4、匹配数据.
if($arr[$middle] == $res){
  echo $middle;
break;
}
//5、没有找到
if($arr[$middle] < $res){
//值在右边
$left = $middle + 1;
}else{
  //值在左边
  $right = $middle - 1;

Was ist der Suchalgorithmus im PHP-Array? Wie finde ich es?Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Suchalgorithmus im PHP-Array? Wie finde ich es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn