Algoritma pencarian string digunakan untuk menemukan kemunculan pola tertentu(substring) di dalam teks(string) yang lebih besar. Algoritma ini memainkan peran penting dalam pemrosesan teks, pencarian, dan tugas manipulasi.
Bagaimana itu bekerja
- Mulailah dengan teks(string) dan pola(substring) untuk dicari.
- Ulangi melalui teks satu karakter pada satu waktu.
- Untuk setiap karakter dalam teks, bandingkan dengan karakter pertama dari pola.
- Jika ada kecocokan, periksa apakah karakter selanjutnya juga cocok dengan polanya.
- Jika pola benar-benar cocok, catat posisi awal pertandingan.
- Lanjutkan mencari pola dalam teks.
Contoh
Perhatikan sebuah teks: "ababcababcabcabc" Dan sebuah pola: "abc"
- Mulai dari posisi 0. Bandingkan "a" dengan karakter pertama "a" dalam pola.
- Kecocokan ditemukan, pindah ke karakter berikutnya: "b" dengan "b", dan "a" dengan "c".
- Lanjutkan mencocokkan: "b" dengan "a", "a" dengan "b", dan "b" dengan "c".
- Pertandingan gagal di posisi 2.
- Mulai lagi dari posisi 3. Bandingkan "a" dengan karakter pertama "a" pada pola.
- Pertandingan yang berhasil: "a" dengan "a", "b" dengan "b", dan "c" dengan "c".
- Rekam posisi 3.
Pola "abc" ditemukan pada posisi 0, 6, dan 9.
Contoh Kode di C++
Dalam contoh ini, stringSearch
fungsi digunakan untuk menemukan kemunculan pola "abc" di dalam teks "ababcababcabcabc". Hasilnya adalah vektor yang berisi posisi awal pertandingan.