સ્ટ્રિંગ સર્ચ અલ્ગોરિધમનો ઉપયોગ મોટા ટેક્સ્ટ(સ્ટ્રિંગ) ની અંદર ચોક્કસ પેટર્ન(સબસ્ટ્રિંગ) ની ઘટનાઓ શોધવા માટે થાય છે. આ અલ્ગોરિધમ ટેક્સ્ટ પ્રોસેસિંગ, સર્ચિંગ અને મેનીપ્યુલેશન કાર્યોમાં નિર્ણાયક ભૂમિકા ભજવે છે.
તે કેવી રીતે કામ કરે છે
- શોધવા માટે ટેક્સ્ટ(સ્ટ્રિંગ) અને પેટર્ન(સબસ્ટ્રિંગ) થી પ્રારંભ કરો.
- ટેક્સ્ટ દ્વારા એક સમયે એક અક્ષર પુનરાવર્તિત કરો.
- ટેક્સ્ટમાં દરેક અક્ષર માટે, તેને પેટર્નના પ્રથમ અક્ષર સાથે સરખાવો.
- જો ત્યાં મેચ હોય, તો તપાસો કે પછીના અક્ષરો પણ પેટર્ન સાથે મેળ ખાય છે.
- જો પેટર્ન સંપૂર્ણપણે મેળ ખાતી હોય, તો મેચની શરૂઆતની સ્થિતિ રેકોર્ડ કરો.
- ટેક્સ્ટમાં પેટર્ન શોધવાનું ચાલુ રાખો.
ઉદાહરણ
એક ટેક્સ્ટનો વિચાર કરો: "ababcababcabcabc" અને એક પેટર્ન: "abc"
- સ્થિતિ 0 થી પ્રારંભ કરો. પેટર્નમાં પ્રથમ અક્ષર "a" સાથે "a" ની તુલના કરો.
- મેળ મળ્યો, આગલા અક્ષરો પર જાઓ: "b" સાથે "b" અને "c" સાથે "a".
- મેચ કરવાનું ચાલુ રાખો: "a" સાથે "b", "b" સાથે "b" અને "c" સાથે "b"
- પોઝિશન 2 પર મેચ નિષ્ફળ ગઈ.
- પોઝિશન 3 પર ફરીથી પ્રારંભ કરો. પેટર્નમાં પ્રથમ અક્ષર "a" સાથે "a" ની તુલના કરો.
- સફળ મેચ: "a" સાથે "a", "b" સાથે "b" અને "c" સાથે "c"
- રેકોર્ડ પોઝિશન 3.
પેટર્ન "abc" સ્થિતિ 0, 6 અને 9 પર જોવા મળે છે.
C++ માં ઉદાહરણ કોડ
આ ઉદાહરણમાં, stringSearch
ફંક્શનનો ઉપયોગ "ababcababcabcabc" ટેક્સ્ટની અંદર પેટર્ન "abc" ની ઘટનાઓ શોધવા માટે થાય છે. પરિણામ મેચોની પ્રારંભિક સ્થિતિ ધરાવતું વેક્ટર હશે.