Programme PHP pour un algorithme naïf pour la recherche de modèles

WBOY
Libérer: 2024-08-28 10:31:20
original
1057 Les gens l'ont consulté

PHP Program for Naive Algorithm for Pattern Searching

Qu'est-ce que PHP ?

PHP (Hypertext Preprocessor) est un langage de script côté serveur largement utilisé pour le développement Web. Il permet aux développeurs d'intégrer du code dans des fichiers HTML, permettant la création de pages Web dynamiques et d'interactions avec des bases de données. PHP est connu pour sa simplicité, sa polyvalence et ses capacités d'intégration étendues avec les bases de données populaires. Il propose une large gamme d'extensions et dispose d'une large communauté de développeurs, garantissant des ressources et un support suffisants.

Qu'est-ce que l'algorithme naïf en PHP ?

L'algorithme Naive, également connu sous le nom d'algorithme Brute Force, est un simple algorithme de recherche de modèles utilisé pour trouver les occurrences d'un modèle dans un texte. Il est qualifié de « naïf » car il n’utilise aucune structure de données sophistiquée ni technique avancée.

Dans le contexte de PHP, l'algorithme Naive est implémenté comme une fonction qui prend deux paramètres : le texte dans lequel rechercher et le modèle à rechercher. L'algorithme parcourt le texte, comparant chaque caractère avec le caractère correspondant dans le modèle. Si une incompatibilité est trouvée, il passe au caractère suivant dans le texte et recommence la comparaison. Si une correspondance est trouvée, il continue de comparer les caractères suivants jusqu'à ce que le modèle entier corresponde ou qu'une incompatibilité se produise.

Programme PHP pour l'algorithme naïf pour la recherche de modèles

Exemple

<?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";
}
?>
Copier après la connexion

Sortie

Pattern found at indexes: 2, 5, 8
Copier après la connexion

Explication du code

Le code implémente l'algorithme Naive pour la recherche de modèles en PHP. La fonction searchPattern prend deux paramètres : $text (le texte saisi) et $pattern (le motif à rechercher). Dans la fonction, les longueurs du texte et du motif sont déterminées à l'aide de la fonction strlen. Un tableau vide appelé $foundIndexes est créé pour stocker les index où se trouve le modèle dans le texte.

La fonction parcourt ensuite le texte à l'aide d'une boucle for, en comparant chaque caractère avec le caractère correspondant dans le modèle. Si une correspondance est trouvée, il continue de comparer les caractères suivants jusqu'à ce que le modèle entier corresponde ou qu'une incompatibilité se produise. Si une correspondance complète est trouvée, l'index de départ est ajouté au tableau $foundIndexes.

Dans l'exemple d'utilisation, la fonction est appelée avec un exemple de texte "ABCABCABCABC" et un modèle "CA". Les index résultants où le motif « CA » se trouve dans le texte sont imprimés en sortie. Dans l'ensemble, le code démontre une implémentation de base de l'algorithme Naive en PHP, recherchant un modèle dans un texte donné et renvoyant les index où le modèle apparaît.

Conclusion

Le programme PHP fourni implémente l'algorithme Naive pour la recherche de modèles. Il recherche un modèle donné dans un texte en comparant les caractères un par un. L'algorithme parcourt le texte et vérifie une correspondance à chaque position. Si une correspondance est trouvée, il ajoute l'index de départ à un tableau. Le programme renvoie tous les index trouvés ou indique si le modèle n'est pas trouvé. Bien que l'algorithme Naive ait une complexité temporelle de O(m * n), où m est la longueur du modèle et n est la longueur du texte, il constitue une approche simple et simple pour les tâches de recherche de modèles à petite échelle en PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal