Heim > Artikel > Backend-Entwicklung > Naiver Algorithmus für PHP-Programm zur Mustersuche
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
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 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"; } ?>
Pattern found at indexes: 2, 5, 8
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
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!