Searching का हिंदी में मतलब होता है ढूंढना या खोजना, Searching एक ऐसी तकनीक है जो किसी List में दिए गए Element या Value के Location के Search करने में मदद करती है।
Search Technique ~ सर्चिंग विधियां
Data Structure में अपनाई जाने वाली कुछ Standard Searching Technique इस प्रकार है-
- Linear Search या Sequential Search
- Binary Search
1. Linear Search या Sequential Search
- यह सबसे Simple Technique है इस Searching Technique में दिए गए List में Elements को तब तक एक – एक करके List में प्रत्येक Element के साथ Compare करते है और जब तक हमारा Elements मिल नही जाता है ।
- इसमें सबसे पहले दी गयी List के प्रथम Element के साथ Compare करते है यदि दोनों Element एक समान होते है तो वह Index Value Return करता है नहीं तो -1 Return करता है ।
- फिर इसके बाद List के दुसरे Element के साथ Compare किया जाता है, यदि दोनों Element समान है तो वह index value Return करता है नहीं तो -1 Return करता है ।
- इसी प्रकार पूरी List को Compare करते है जब तक कि जो Element Search का रहे है वो मिल नहीं जाता है । अगर पूरी लिस्ट Compare करने के बाद भी Element नहीं मिलता है तो Search Unsuccessful हो जाएगा ।
- इसमें बहुत अधिक लगता है क्योंकि इसकी Complexity O(n) होती है। इसको Sequential Search भी कहा जाता है ।
इसे एक उदाहरण लेकर समझते है –
Binary Search
- जब कोई बड़ा Data Structure होता है तो Linear Search में बहुत अधिक Time लग जाता है, इसलिए Linear Search की कमी को दूर करने के लिए Binary Search को विकसित किया गया ।
- Binary Search केवल उसी List में की जा सकती है जो कि Sorted हों इसका प्रयोग ऐसी List में नहीं कर सकते जो कि Sorted Order में नहीं है।
- इसकी Complexity O (log2n) होती है । इसको Half – Interval Search भी कहा जाता है ।
- इस Searching Technique में दिए गये Element की List के Middle Element के साथ जो Element हम Search कर रहे है उसका Compare करते है । यदि दोनों एकसमान है तो वह Index Value रिटर्न करता है।
- यदि एक समान नहीं है तो हम ये Check करते है कि जो Element हम Search कर रहे वो Element जो है वह List के middle element से बड़ा है या छोटा है।
- यदि वह छोटा है तो हम List के छोटे भाग में यही प्रक्रिया दोहराएंगे ।
- और यदि वह बड़ा है तो हम List के बड़े भाग में यही प्रक्रिया दोहराएंगे, और यह तब तक करेंगे जब तक कि जो element हम Search कर रहे वो मिल नहीं जाता है।
इसे एक उदाहरण लेकर समझते है।