Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Algoritma naif untuk program PHP untuk carian corak

Algoritma naif untuk program PHP untuk carian corak

WBOY
WBOYke hadapan
2023-08-22 10:57:061435semak imbas

Algoritma naif untuk program PHP untuk carian corak

Apakah itu PHP?

PHP (Hypertext Preprocessor) ialah bahasa pembangunan web yang digunakan secara meluas sebagai bahasa skrip sebelah pelayan. Ia membolehkan pembangun membenamkan kod dalam fail HTML untuk mencipta halaman web dinamik dan berinteraksi dengan pangkalan data. PHP terkenal dengan kesederhanaan, serba boleh dan keupayaan penyepaduan yang meluas dengan pangkalan data yang popular. Ia menawarkan pelbagai sambungan dan mempunyai komuniti pembangun yang besar yang memastikan sumber dan sokongan yang banyak

Apakah algoritma naif dalam PHP?

Algoritma Naive, juga dikenali sebagai algoritma Brute Force, ialah algoritma carian corak mudah yang digunakan untuk mencari kejadian corak dalam teks Ia dipanggil "naif" kerana ia tidak menggunakan sebarang struktur data yang canggih atau teknik lanjutan.

Dalam konteks PHP, algoritma Naive dilaksanakan sebagai fungsi yang menerima dua parameter: teks untuk dicari dan corak untuk dicari. Algoritma berfungsi dengan menggelung melalui teks, membandingkan setiap aksara dengan aksara yang sepadan dalam corak. Jika aksara yang tidak sepadan ditemui, ia berpindah ke aksara seterusnya dalam teks dan memulakan perbandingan semula. Jika aksara yang sepadan ditemui, ia akan terus membandingkan aksara seterusnya sehingga keseluruhan corak sepadan atau ketidakpadanan berlaku

Program PHP untuk carian corak menggunakan algoritma Naive

Contoh

<?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";
}
?>

Output

Pattern found at indexes: 2, 5, 8

Penjelasan kod

Kod ini melaksanakan algoritma Naive untuk mencari corak dalam PHP Fungsi searchPattern mengambil dua parameter: $teks (teks input) dan $corak (corak untuk dicari). Dalam fungsi, panjang bagi teks dan corak ditentukan menggunakan fungsi strlen Tatasusunan kosong yang dipanggil $foundIndexes dicipta untuk menyimpan indeks di mana corak ditemui dalam teks.

Fungsi kemudian melelang melalui teks menggunakan gelung for, membandingkan setiap aksara dengan aksara yang sepadan dalam corak Jika padanan ditemui, ia meneruskan membandingkan aksara seterusnya sehingga sama ada keseluruhan corak dipadankan atau ketidakpadanan berlaku padanan ditemui, indeks permulaan ditambahkan pada tatasusunan $foundIndexes.

Dalam contoh penggunaan, fungsi dipanggil dengan contoh teks "ABCABCABCABC" dan corak "CA". Output ialah indeks dalam teks di mana corak "CA" ditemui. Secara keseluruhan, kod ini menunjukkan pelaksanaan asas algoritma Naive dalam PHP untuk mencari corak dalam teks tertentu dan mengembalikan indeks kejadian corak

Kesimpulan

Program PHP yang disediakan melaksanakan algoritma Naive untuk carian corak. Ia mencari teks untuk corak tertentu dengan membandingkannya dengan aksara dengan aksara. Algoritma melalui teks dan menyemak padanan pada setiap kedudukan. Jika padanan ditemui, ia menambah indeks permulaan pada tatasusunan. Program ini mengembalikan semua indeks yang ditemui, atau menunjukkan bahawa corak tidak dijumpai. Walaupun kerumitan masa bagi algoritma Naive ialah O(m * n), dengan m ialah panjang corak dan n ialah panjang teks, ia berfungsi sebagai kaedah asas dan mudah untuk tugas carian corak berskala kecil dalam PHP.

Atas ialah kandungan terperinci Algoritma naif untuk program PHP untuk carian corak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam