एकाधिक-आयटम शोध अल्गोरिदमचा वापर सूचीमधील विशिष्ट घटकाच्या सर्व घटना शोधण्यासाठी केला जातो. सिंगल-आयटम शोध अल्गोरिदमच्या विपरीत, हा दृष्टीकोन लक्ष्य घटकाच्या एकाधिक घटनांचा मागोवा ठेवतो आणि त्यांच्या स्थानांची सूची देतो.
हे कसे कार्य करते
- सूचीच्या सुरुवातीपासून प्रारंभ करा.
- सूचीतील प्रत्येक घटकाद्वारे पुनरावृत्ती करा.
- लक्ष्य मूल्यासह वर्तमान घटकाची तुलना करा.
- वर्तमान घटक लक्ष्य मूल्याच्या बरोबरीने असल्यास, त्याचे स्थान रेकॉर्ड करा.
- पुढील घटकावर जा आणि चरण 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 पासून सुरू होते).