Algoritma Panelusuran Teks minangka cara dhasar ing pangolahan teks lan golek informasi. Algoritma iki ngidini kita nemokake lan ngenali kedadeyan substring(utawa pola) ing potongan teks sing luwih gedhe.
Cara Kerjane
- Miwiti kanthi potongan teks(utawa dokumen) sing luwih gedhe lan substring kanggo digoleki.
- Ulangi saben karakter teks kanthi urutan.
- Bandhingake substring karo bagean saka teks sing dawane padha karo substring. Yen cocog ditemokake, rekam posisi saiki.
- Pindhah menyang posisi sabanjure lan terusake perbandingan.
Tuladha
Coba teks: "Ayo goleki substring ing teks iki kanggo ndeleng cara algoritma kasebut."
Lan substring kanggo nggoleki: "substring"
- Mulai ing posisi 0. Bandingake
Let'
karo "substring". Ora cocog. - Pindhah menyang posisi 1. Bandhingake
et's
karo "substring". Ora cocog. - Pindhah menyang posisi 2. Bandhingake
t's
" karo "substring". Ora cocog. - Pindhah menyang posisi 3. Bandingake
's s
karo "substring". Ora cocog. - Pindhah menyang posisi 4. Bandingake
se
karo "substring". Ora cocog. - Pindhah menyang posisi 5. Bandhingake
sea
karo "substring". Ora cocog. - Pindhah menyang posisi 6. Bandhingake
earc
karo "substring". Ora cocog. - Pindhah menyang posisi 7. Bandhingake
arch
karo "substring". Ora cocog. - Pindhah menyang posisi 8. Bandhingake
rch
" karo "substring". Ora cocog. - Pindhah menyang posisi 9. Bandhingake
ch w
karo "substring". Ora cocog. - Pindhah menyang posisi 10. Bandhingake
h wi
karo "substring". Ora cocog. - Pindhah menyang posisi 11. Bandhingake "
wit
karo "substring". Ora cocog. - Pindhah menyang posisi 12. Bandhingake
with
karo "substring". Ora cocog. - Pindhah menyang posisi 13. Bandhingake
ithi
karo "substring". Ora cocog. - Pindhah menyang posisi 14. Bandhingake
thin
karo "substring". Ora cocog. - Pindhah menyang posisi 15. Bandhingake
hinn
karo "substring". Ora cocog. - Pindhah menyang posisi 16. Bandhingake
in t
karo "substring". Ora cocog. - Pindhah menyang posisi 17. Bandhingake
n th
karo "substring". Ora cocog. - Pindhah menyang posisi 18. Bandhingake "
thi
karo "substring". Ora cocog. - Pindhah menyang posisi 19. Bandhingake
this
karo "substring". Ora cocog. - Pindhah menyang posisi 20. Bandhingake
his
" karo "substring". Ora cocog. - Pindhah menyang posisi 21. Bandhingake
is t
karo "substring". Ora cocog. - Pindhah menyang posisi 22. Bandhingake
s te
karo "substring". Ora cocog. - Pindhah menyang posisi 23. Bandhingake
ubst
karo "substring". Ora cocog. - Pindhah menyang posisi 24. Bandhingake
bstr
karo "substring". Ora cocog. - Pindhah menyang posisi 25. Bandhingake
stre
karo "substring". Ora cocog. - Pindhah menyang posisi 26. Bandhingake
trin
karo "substring". Ora cocog. - Pindhah menyang posisi 27. Bandhingake
ring
karo "substring". Pertandhingan ditemokake, rekor posisi 27.
Substring "substring" ditemokake ing posisi 27 ing teks kasebut.
Tuladha Kode ing C++
#include <iostream>
#include <string>
#include <vector>
std::vector<int> textSearch(const std::string& text, const std::string& query) {
std::vector<int> positions;
for(int i = 0; i <= text.length()- query.length(); ++i) {
int j = 0;
while(j < query.length() && text[i + j] == query[j]) {
++j;
}
if(j == query.length()) {
positions.push_back(i);
}
}
return positions;
}
int main() {
std::string text = "Let's search for a substring within this text to see how the algorithm works.";
std::string query = "substring";
std::vector<int> result = textSearch(text, query);
std::cout << "Substring found at positions: ";
for(int pos: result) {
std::cout << pos << ";
}
std::cout << std::endl;
return 0;
}
Ing conto iki, textSearch
fungsi digunakake kanggo nemokake posisi substring "substring" ing teks. Asil bakal dadi vektor sing ngemot posisi wiwitan pertandhingan.