Ideja algoritma Brute Force ali Groba sila je, da zaporedoma pregledamo vsak znak v besedilu B in preverimo ali se naš vzorec V začne na tem trenutem mestu v besedilu.
Naš vzorec V v besebilu B iščemo tako, da primerjamo vsak znak posebej. Če najdemo znaka, ki se ne ujemata, se naše primerjanje konča in celoten vzorec pomaknemo za en znak v desno po besedilu.
Če pa s primerjanjem pridemo do konca vzorca V, smo našli vzorec V v besedilu B.
Kadar pri primerjanju vzorca in besedila, ne najdemo našega vzorca v besedilu, pa za rezultat dobimo -1.
Primer iskanja vzorca "mati" v besedilu "matematika".
|
Iskanje vzorca v besedilu z algoritmom Groba sila
Primerjamo posamezne znake od leve proti desni.
Primerjamo znaka "m" in "m", znaka sta enaka, zato nadaljujemo primerjanje. Primerjamo znaka "a" in "a" in ponovno najdemo ujemanje. Sledi primerjava znakov "t" in "t" in nadaljujemo primerjanje znakov. Pri primerjavi znakov "e" in "i" smo prišli do neujemanja.
Sedaj se moramo s celotnim vzorcem za en znak pomakniti v desno.
|
Iskanje vzorca v besedilu z algoritmom Groba sila
Nadaljujemo primerjanje. In takoj najdemo neujemanje (znak "a" je različen od znaka "m" ). Zato se s celotnim vzorcem za en znak pomaknemo v desno.
|
Iskanje vzorca v besedilu z algoritmom Groba sila
Nadaljujemo primerjanjein ugotovimo, da znaka "t" in "m" nista enaka. Torej se ponovno s celotnim vzorcem za en znak pomaknemo v desno.