Algorithm na Binciken Rubutu hanya ce ta asali a sarrafa rubutu da dawo da bayanai. Wannan algorithm yana ba mu damar ganowa da gano abubuwan da suka faru na ƙaramin igiya(ko tsari) a cikin babban yanki na rubutu.
Yadda Ake Aiki
- Fara da babban yanki na rubutu(ko daftarin aiki) da ƙaramin igiya don nema.
- Yi maimaita ta kowane hali na rubutun a jere.
- Kwatanta ƙaramin kirtani tare da wani yanki na rubutun wanda ke da tsayi iri ɗaya da igiyar ƙasa. Idan an sami wasa, yi rikodin matsayi na yanzu.
- Matsar zuwa matsayi na gaba kuma ci gaba da kwatanta.
Misali
Yi la'akari da rubutun: "Bari mu nemo maƙasudin ƙira a cikin wannan rubutun don ganin yadda algorithm ke aiki."
Da kuma gunkin da ake nema: "substring"
- Fara a matsayi 0. Kwatanta
Let'da "substring". Babu wasa. - Matsar zuwa matsayi 1. Kwatanta
et'sda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi 2. Kwatanta
t's" tare da "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi 3. Kwatanta
's sda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 4. Kwatanta
seda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 5. Kwatanta
seada "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 6. Kwatanta
earcda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 7. Kwatanta
archda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi 8. Kwatanta
rch"tare da "ƙarshen igiya" Babu wasa. - Matsar zuwa matsayi na 9. Kwatanta
ch wda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 10. Kwatanta
h wida "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 11. Kwatanta "
witda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 12. Kwatanta
withda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 13. Kwatanta
ithida "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 14. Kwatanta
thinda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 15. Kwatanta
hinnda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 16. Kwatanta
in tda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 17. Kwatanta
n thda "ƙarshen igiya". Babu wasa. - Matsa zuwa matsayi na 18. Kwatanta "
thida "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 19. Kwatanta
thisda "ƙarshen igiya". Babu wasa. - Matsa zuwa matsayi na 20. Kwatanta
his" da "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 21. Kwatanta
is tda "substring". Babu wasa. - Matsar zuwa matsayi na 22. Kwatanta
s teda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 23. Kwatanta
ubstda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 24. Kwatanta
bstrda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 25. Kwatanta
streda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 26. Kwatanta
trinda "ƙarshen igiya". Babu wasa. - Matsar zuwa matsayi na 27. Kwatanta
ringda "ƙarshen igiya". An samo wasa, matsayi na 27.
Ana samun "ƙarshen igiya" a matsayi na 27 a cikin rubutun.
Misali Code a 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;
}
A cikin wannan misali, textSearch ana amfani da aikin don nemo matsayin "substring" a cikin rubutun. Sakamakon zai zama vector mai kunshe da wuraren farawa na matches.

