Rumah >pembangunan bahagian belakang >C++ >Algoritma carian corak naif untuk program C
Padanan corak dalam C - Kita perlu mencari jika rentetan wujud dalam rentetan lain, sebagai contoh, rentetan "algoritma" wujud dalam rentetan "algoritma naif". Jika ia ditemui, maka lokasinya (iaitu di mana ia terletak) dipaparkan. Kami cenderung untuk mencipta fungsi yang mengambil tatasusunan 2 aksara dan mengembalikan kedudukan jika terdapat padanan, jika tidak ia mengembalikan -1.
Input: txt = "HERE IS A NICE CAP" pattern = "NICE" Output: Pattern found at index 10 Input: txt = "XYZXACAADXYZXYZX" pattern = "XYZX" Output: Pattern found at index 0 Pattern found at index 9 Pattern found at index 12
Kami sedang menyelesaikan masalah ini melalui carian mod naif. Algoritma ini berguna untuk teks yang lebih kecil. Naif ialah cara yang mudah dan tidak cekap untuk melihat tempat rentetan muncul dalam rentetan lain dengan menyemak setiap kemungkinan kedudukan yang mungkin muncul untuk melihat sama ada rentetan itu wujud.
Naif Kerumitan masa algoritma ialah O(mn), dengan m ialah saiz corak yang hendak dicari dan n ialah saiz rentetan bekas.
Carian corak ialah isu yang sangat kritikal dalam sains komputer. Setiap kali kita mencari rentetan dalam fail notepad/word atau pelayar atau pangkalan data atau beberapa maklumat, Algoritma carian corak digunakan untuk memaparkan hasil carian.
naif_algorithm(corak, teks)
Input#🎜🎜🎜🎜∎ 🎜#
Output− Di mana corak muncul dalam teksStart
pat_len := pattern Size
str_len := string size
for i := 0 to (str_len - pat_len), do
for j := 0 to pat_len, do
if text[i+j] ≠ pattern[j], then
break
if j == patLen, then
display the position i, as there pattern found
End
Contoh
#include <stdio.h> #include <string.h> int main (){ char txt[] = "tutorialsPointisthebestplatformforprogrammers"; char pat[] = "a"; int M = strlen (pat); int N = strlen (txt); for (int i = 0; i <= N - M; i++){ int j; for (j = 0; j < M; j++) if (txt[i + j] != pat[j]) break; if (j == M) printf ("Pattern matches at index %d </p><p>", i); } return 0; }
Atas ialah kandungan terperinci Algoritma carian corak naif untuk program C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!