Algorithme naïf pour programme PHP pour la recherche de modèles

WBOY
Libérer: 2023-08-22 10:58:02
avant
1420 Les gens l'ont consulté

Algorithme naïf pour programme PHP pour la recherche de modèles

Qu'est-ce que PHP ?

PHP (Hypertext Preprocessor) est un langage de développement Web largement utilisé comme langage de script côté serveur. Il permet aux développeurs d'intégrer du code dans des fichiers HTML pour créer des pages Web dynamiques et interagir 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 offre une large gamme d'extensions et dispose d'une large communauté de développeurs garantissant des ressources et un support abondants.

Que sont les algorithmes naïfs 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 appelé « 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 accepte deux paramètres : le texte à rechercher et le modèle à rechercher. L'algorithme fonctionne en parcourant le texte, en comparant chaque caractère au caractère correspondant dans le modèle. Si un caractère ne correspondant pas est trouvé, il passe au caractère suivant dans le texte et recommence la comparaison. Si un caractère correspondant est trouvé, il continuera à comparer les caractères suivants jusqu'à ce que l'intégralité du motif corresponde ou qu'une incompatibilité se produise.

Programme PHP pour la recherche de modèles à l'aide de l'algorithme Naive

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 d'entrée) et $pattern (le modèle à rechercher). le texte et le motif sont déterminés à l'aide de la fonction strlen. Un tableau vide appelé $foundIndexes est créé pour stocker les index où le motif se trouve 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, elle continue de comparer les caractères suivants jusqu'à ce que le modèle entier corresponde ou qu'une incompatibilité se produise. correspondance 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". Le résultat est l'index dans le texte auquel le modèle « CA » a été trouvé. Dans l'ensemble, ce code montre une implémentation de base de l'algorithme Naive en PHP pour rechercher un modèle dans un texte donné et renvoyer l'index d'occurrence du modèle.

Conclusion

Le programme PHP fourni implémente l'algorithme Naive pour la recherche de modèles. Il recherche dans le texte un modèle donné en le comparant caractère par caractère. 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 indices trouvés ou indique que le modèle n'a pas été trouvé. Bien que la complexité temporelle de l'algorithme Naive soit O(m * n), où m est la longueur du modèle et n la longueur du texte, il constitue une méthode 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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!