બહુવિધ-આઇટમ શોધ અલ્ગોરિધમનો ઉપયોગ સૂચિમાં ચોક્કસ તત્વની બધી ઘટનાઓ શોધવા માટે થાય છે. સિંગલ-આઇટમ શોધ અલ્ગોરિધમ્સથી વિપરીત, આ અભિગમ લક્ષ્ય તત્વની બહુવિધ ઘટનાઓનો ટ્રૅક રાખે છે અને તેમની સ્થિતિની સૂચિ આપે છે.
તે કેવી રીતે કામ કરે છે
- સૂચિની શરૂઆતથી પ્રારંભ કરો.
- સૂચિમાં દરેક ઘટક દ્વારા પુનરાવર્તન કરો.
- લક્ષ્ય મૂલ્ય સાથે વર્તમાન તત્વની તુલના કરો.
- જો વર્તમાન તત્વ લક્ષ્ય મૂલ્યની બરાબર હોય, તો તેની સ્થિતિ રેકોર્ડ કરો.
- આગલા તત્વ પર ચાલુ રાખો અને પગલાં 3-4 પુનરાવર્તન કરો.
- સમગ્ર સૂચિમાં પુનરાવર્તિત થયા પછી, રેકોર્ડ કરેલી સ્થિતિની સૂચિ પરત કરો.
ઉદાહરણ
ચાલો પૂર્ણાંકોની સૂચિને ધ્યાનમાં લઈએ અને અમે 23 નંબરની બધી ઘટનાઓ શોધવા માંગીએ છીએ.
સૂચિ: {12, 23, 45, 23, 56, 23, 89, 90}
- શરૂઆતથી શરૂ કરો: 12. ઇચ્છિત સંખ્યા નથી.
- આગલા ઘટક પર જાઓ: 23. મેળ મળ્યો, 1 તરીકે સ્થાન રેકોર્ડ કરો.
- આગલા તત્વ પર જાઓ: 45. ઇચ્છિત સંખ્યા નથી.
- આગલા ઘટક પર જાઓ: 23. મેળ મળ્યો, 3 તરીકે સ્થાન રેકોર્ડ કરો.
- આગલા તત્વ પર જાઓ: 56. ઇચ્છિત સંખ્યા નથી.
- આગલા ઘટક પર જાઓ: 23. મેળ મળ્યો, 5 તરીકે સ્થાન રેકોર્ડ કરો.
- આગલા તત્વ પર જાઓ: 89. ઇચ્છિત સંખ્યા નથી.
- આગલા તત્વ પર જાઓ: 90. ઇચ્છિત સંખ્યા નથી.
- પુનરાવર્તિત કર્યા પછી, સ્થિતિઓની સૂચિ પરત કરો: [1, 3, 5].
C++ માં ઉદાહરણ કોડ
આપેલ ઉદાહરણમાં, multipleItemSearch
ફંક્શનનો ઉપયોગ પૂર્ણાંકોની સૂચિમાં નંબર 23 ની બધી ઘટનાઓ શોધવા માટે થાય છે. પરિણામ એ વેક્ટર હશે જેમાં તમામ ઘટનાઓની સ્થિતિ હશે(સ્થિતિઓ 0 થી શરૂ થાય છે).