Heim  >  Artikel  >  Backend-Entwicklung  >  Naiver Algorithmus für PHP-Programm zur Mustersuche

Naiver Algorithmus für PHP-Programm zur Mustersuche

WBOY
WBOYnach vorne
2023-08-22 10:57:061446Durchsuche

Naiver Algorithmus für PHP-Programm zur Mustersuche

Was ist PHP?

PHP (Hypertext Preprocessor) ist eine Webentwicklungssprache, die häufig als serverseitige Skriptsprache verwendet wird. Es ermöglicht Entwicklern, Code in HTML-Dateien einzubetten, um dynamische Webseiten zu erstellen und mit Datenbanken zu interagieren. PHP ist bekannt für seine Einfachheit, Vielseitigkeit und umfangreichen Integrationsmöglichkeiten mit gängigen Datenbanken. Es bietet eine große Auswahl an Erweiterungen und verfügt über eine große Entwickler-Community, die reichlich Ressourcen und Support gewährleistet

Was sind naive Algorithmen in PHP?

Der Naive-Algorithmus, auch Brute-Force-Algorithmus genannt, ist ein einfacher Mustersuchalgorithmus, der zum Auffinden von Mustern in einem Text verwendet wird. Er wird „naiv“ genannt, weil er keine ausgefeilten Datenstrukturen oder fortgeschrittenen Techniken verwendet.

Im Kontext von PHP wird der Naive-Algorithmus als Funktion implementiert, die zwei Parameter akzeptiert: den zu suchenden Text und das zu suchende Muster. Der Algorithmus durchläuft den Text und vergleicht jedes Zeichen mit dem entsprechenden Zeichen im Muster. Wenn ein nicht übereinstimmendes Zeichen gefunden wird, wird zum nächsten Zeichen im Text gewechselt und der Vergleich erneut gestartet. Wenn ein passendes Zeichen gefunden wird, werden nachfolgende Zeichen weiter verglichen, bis das gesamte Muster übereinstimmt oder eine Nichtübereinstimmung auftritt

PHP-Programm zur Mustersuche mit Naive-Algorithmus

Beispiel

<?php
function searchPattern($text, $pattern)
{
   $textLength = strlen($text);
   $patternLength = strlen($pattern);

   $foundIndexes = array(); // Array to store the found indexes

   // Iterate through the text
   for ($i = 0; $i <= $textLength - $patternLength; $i++) {
      $j = 0;

      // Check for a match at the current position
      while ($j < $patternLength && $text[$i + $j] == $pattern[$j]) {
         $j++;
      }

      // If a match is found, add the starting index to the array
      if ($j == $patternLength) {
         $foundIndexes[] = $i;
      }
   }

   return $foundIndexes;
}

// Example usage
$text = "ABCABCABCABC";
$pattern = "CA";

$indexes = searchPattern($text, $pattern);

if (!empty($indexes)) {
   echo "Pattern found at indexes: " . implode(", ", $indexes);
} else {
   echo "Pattern not found";
}
?>

Ausgabe

Pattern found at indexes: 2, 5, 8

Code-Erklärung

Der Code implementiert den Naive-Algorithmus für die Mustersuche in PHP. Die Funktion „searchPattern“ benötigt zwei Parameter: $text (den Eingabetext) und $pattern (das zu suchende Muster). Innerhalb der Funktion werden die Längen der Text und Muster werden mithilfe der strlen-Funktion ermittelt. Ein leeres Array namens $foundIndexes wird erstellt, um die Indizes zu speichern, an denen das Muster im Text gefunden wird.

Die Funktion durchläuft dann den Text mithilfe einer for-Schleife und vergleicht jedes Zeichen mit dem entsprechenden Zeichen im Muster. Wenn eine Übereinstimmung gefunden wird, vergleicht sie die nachfolgenden Zeichen weiter, bis entweder das gesamte Muster übereinstimmt oder eine Nichtübereinstimmung auftritt Wird eine Übereinstimmung gefunden, wird der Startindex zum Array $foundIndexes hinzugefügt.

In der Beispielverwendung wird die Funktion mit einem Beispieltext „ABCABCABCABC“ und einem Muster „CA“ aufgerufen. Die Ausgabe ist der Index im Text, an dem das Muster „CA“ gefunden wurde. Insgesamt zeigt dieser Code eine grundlegende Implementierung des Naive-Algorithmus in PHP zum Suchen nach einem Muster in einem bestimmten Text und zum Zurückgeben des Index des Vorkommens des Musters

Fazit

Das bereitgestellte PHP-Programm implementiert den Naive-Algorithmus für die Mustersuche. Es durchsucht den Text nach einem bestimmten Muster, indem es es Zeichen für Zeichen vergleicht. Der Algorithmus geht den Text durch und prüft, ob an jeder Position eine Übereinstimmung vorliegt. Wenn eine Übereinstimmung gefunden wird, wird der Startindex einem Array hinzugefügt. Das Programm gibt alle gefundenen Indizes zurück oder gibt an, dass das Muster nicht gefunden wurde. Obwohl die Zeitkomplexität des Naive-Algorithmus O(m * n) beträgt, wobei m die Musterlänge und n die Textlänge ist, dient er als einfache und unkomplizierte Methode für kleine Mustersuchaufgaben in PHP.

Das obige ist der detaillierte Inhalt vonNaiver Algorithmus für PHP-Programm zur Mustersuche. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen