Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program PHP untuk Algoritma Naif untuk Carian Corak

Program PHP untuk Algoritma Naif untuk Carian Corak

WBOY
WBOYasal
2024-08-28 10:31:20947semak imbas

PHP Program for Naive Algorithm for Pattern Searching

Apakah itu PHP?

PHP (Hypertext Preprocessor) ialah bahasa skrip bahagian pelayan yang digunakan secara meluas untuk pembangunan web. Ia membenarkan pembangun membenamkan kod dalam fail HTML, membolehkan penciptaan halaman web dinamik dan interaksi dengan pangkalan data. PHP terkenal dengan kesederhanaan, serba boleh dan keupayaan penyepaduan yang meluas dengan pangkalan data yang popular. Ia menawarkan rangkaian sambungan yang luas dan mempunyai komuniti pembangun yang besar, memastikan sumber dan sokongan yang mencukupi.

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 mengambil dua parameter: teks untuk mencari dalam dan corak untuk mencari. Algoritma melelaran melalui teks, membandingkan setiap aksara dengan aksara yang sepadan dalam corak. Jika ketidakpadanan ditemui, ia beralih ke aksara seterusnya dalam teks dan memulakan perbandingan semula. Jika padanan ditemui, ia terus membandingkan aksara seterusnya sehingga sama ada keseluruhan corak dipadankan atau ketidakpadanan berlaku.

Program PHP untuk Algoritma Naif untuk Carian Corak

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 teks dan corak ditentukan menggunakan fungsi strlen. Tatasusunan kosong yang dipanggil $foundIndexes dicipta untuk menyimpan indeks di mana corak ditemui dalam teks.

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

Dalam contoh penggunaan, fungsi dipanggil dengan teks sampel "ABCABCABCABC" dan corak "CA". Indeks yang terhasil di mana corak "CA" ditemui dalam teks dicetak sebagai output. Secara keseluruhan, kod tersebut menunjukkan pelaksanaan asas algoritma Naive dalam PHP, mencari corak dalam teks tertentu dan mengembalikan indeks tempat corak itu berlaku.

Kesimpulan

Program PHP yang disediakan melaksanakan algoritma Naive untuk mencari corak. Ia mencari corak tertentu dalam teks dengan membandingkan aksara satu demi satu. Algoritma melelaran 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 jika corak tidak dijumpai. Walaupun algoritma Naive mempunyai kerumitan masa O(m * n), dengan m ialah panjang corak dan n ialah panjang teks, ia berfungsi sebagai pendekatan asas dan mudah untuk tugas mencari corak berskala kecil dalam PHP.

Atas ialah kandungan terperinci Program PHP untuk Algoritma Naif untuk Carian Corak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn