Algoritmi i Kërkimit të Tekstit është një metodë themelore në përpunimin e tekstit dhe gjetjen e informacionit. Ky algoritëm na lejon të lokalizojmë dhe identifikojmë dukuritë e një nënvargu(ose modeli) brenda një pjese më të madhe të tekstit.
Si punon
- Filloni me një pjesë më të madhe teksti(ose dokument) dhe një nënvarg për të kërkuar.
- Përsëriteni në çdo karakter të tekstit në mënyrë sekuenciale.
- Krahasoni nënvargun me një pjesë të tekstit që ka të njëjtën gjatësi me nënvargun. Nëse gjendet një ndeshje, regjistro pozicionin aktual.
- Kaloni në pozicionin tjetër dhe vazhdoni krahasimin.
Shembull
Merrni parasysh tekstin: "Le të kërkojmë një nënvarg brenda këtij teksti për të parë se si funksionon algoritmi."
Dhe nënvargu për të kërkuar: "nënstring"
- Filloni në pozicionin 0. Krahasoni
Let'
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 1. Krahasoni
et's
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 2. Krahasoni
t's
" me "nënstring". Nuk ka përputhje. - Kaloni në pozicionin 3. Krahasoni
's s
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 4. Krahasoni
se
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 5. Krahasoni
sea
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 6. Krahasoni
earc
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 7. Krahasoni
arch
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 8. Krahasoni
rch
" me "nënstring". Nuk ka përputhje. - Kaloni në pozicionin 9. Krahasoni
ch w
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 10. Krahasoni
h wi
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 11. Krahasoni "
wit
me "nënstring". Nuk ka përputhje. - Kaloni në pozicionin 12. Krahasoni
with
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 13. Krahasoni
ithi
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 14. Krahasoni
thin
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 15. Krahasoni
hinn
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 16. Krahasoni
in t
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 17. Krahasoni
n th
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 18. Krahasoni "
thi
me "nënstring". Nuk ka përputhje. - Kaloni në pozicionin 19. Krahasoni
this
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 20. Krahasoni
his
" me "nënstring". Nuk ka përputhje. - Kaloni në pozicionin 21. Krahasoni
is t
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 22. Krahasoni
s te
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 23. Krahasoni
ubst
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 24. Krahasoni
bstr
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 25. Krahasoni
stre
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 26. Krahasoni
trin
me "nënstring". Asnjë ndeshje. - Kaloni në pozicionin 27. Krahasoni
ring
me "nënstring". Ndeshja e gjetur, pozicioni rekord 27.
Nënvargu "nënvarg" gjendet në pozicionin 27 brenda tekstit.
Shembull Kodi në C++
Në këtë shembull, textSearch
funksioni përdoret për të gjetur pozicionet e nënvargut "nënvarg" brenda tekstit. Rezultati do të jetë një vektor që përmban pozicionet fillestare të ndeshjeve.