Algoritma carian rentetan digunakan untuk mencari kejadian corak tertentu(subrentetan) dalam teks yang lebih besar(rentetan). Algoritma ini memainkan peranan penting dalam pemprosesan teks, pencarian dan tugasan manipulasi.
Bagaimana ia berfungsi
- Mulakan dengan teks(rentetan) dan corak(subrentetan) untuk dicari.
- Lelaran melalui teks satu aksara pada satu masa.
- Untuk setiap aksara dalam teks, bandingkan dengan aksara pertama corak.
- Jika terdapat padanan, semak sama ada aksara seterusnya juga sepadan dengan corak.
- Jika corak dipadankan sepenuhnya, rekod kedudukan permulaan perlawanan.
- Teruskan mencari corak dalam teks.
Contoh
Pertimbangkan teks: "ababcababcabcabc" Dan corak: "abc"
- Mulakan pada kedudukan 0. Bandingkan "a" dengan aksara pertama "a" dalam corak.
- Padanan ditemui, beralih ke aksara seterusnya: "b" dengan "b", dan "a" dengan "c".
- Teruskan memadankan: "b" dengan "a", "a" dengan "b", dan "b" dengan "c".
- Perlawanan gagal di kedudukan 2.
- Mulakan semula pada kedudukan 3. Bandingkan "a" dengan aksara pertama "a" dalam corak.
- Padanan yang berjaya: "a" dengan "a", "b" dengan "b", dan "c" dengan "c".
- Kedudukan rekod 3.
Corak "abc" ditemui pada kedudukan 0, 6, dan 9.
Contoh Kod dalam C++
Dalam contoh ini, stringSearch
fungsi digunakan untuk mencari kejadian corak "abc" dalam teks "ababcababcabcabc". Keputusan akan menjadi vektor yang mengandungi kedudukan permulaan perlawanan.