हेल्लो दोस्तों, आपका हमारी इस नई पोस्ट मैं स्वागत है। पिछली पोस्ट में हमने Bubble Sort के बारे में पढ़ा था। आज हम एक और महत्वपूर्ण सोर्टिंग एल्गोरिदम के बारे में जानेंगे जिसका नाम है Selection Sort।
इस पोस्ट में हमने आपको सिलेक्शन सॉर्ट क्या है? (What is Selection Sort in Hindi?), इसका लॉजिक क्या है? और यह Bubble Sort से कैसे अलग है, इसके बारे मैं विस्तार से बताया है।
अक्सर स्टूडेंट्स कंफ्यूज हो जाते हैं कि Bubble Sort और Selection Sort में क्या फर्क है। तो चलिए, आज इस कंफ्यूजन को हमेशा के लिए दूर करते हैं।
What is Selection Sort in Hindi? – सिलेक्शन सॉर्ट क्या है?
Selection Sort एक सरल comparison-based सोर्टिंग एल्गोरिदम है। इसका मुख्य विचार यह है कि हम लिस्ट को दो हिस्सों में बांट देते हैं:
- Sorted Part: जो पहले से sort हो चुका है (शुरुआत में यह खाली होता है)।
- Unsorted Part: जो अभी sort होना बाकी है।
यह एल्गोरिदम हर बार Unsorted Part में से सबसे छोटा (minimum) एलिमेंट ढूंढता है और उसे उठाकर Sorted Part के अंत में रख देता है।

दूसरे शब्दों में कहे तो, मान लीजिये क्लास में 10 बच्चे खड़े हैं और आपको उन्हें हाइट (height) के हिसाब से जमाना है। आप पूरी लाइन में सबसे छोटे बच्चे को ढूंढते हैं और उसे सबसे आगे खड़ा कर देते हैं। फिर बचे हुए बच्चों में सबसे छोटे को ढूंढते हैं और उसे दूसरे नंबर पर खड़ा कर देते हैं। यही Selection Sort है।
How Selection Sort Works in Hindi? – कार्यप्रणाली (Step-by-Step)
इसे समझने के लिए हम एक उदाहरण लेते हैं। मान लीजिये हमारे पास एक array है: [20, 12, 10, 15, 2]
Pass 1 (पहला राउंड): सबसे पहले हम पूरी लिस्ट [20, 12, 10, 15, 2] में सबसे छोटा नंबर ढूंढेंगे।
- यहाँ सबसे छोटा नंबर 2 है।
- अब हम 2 को पहली पोजीशन वाले नंबर (20) के साथ Swap कर देंगे।
- Result:
[2, 12, 10, 15, 20](अब ‘2’ अपनी सही जगह पर है)।
Pass 2 (दूसरा राउंड): अब हम बची हुई लिस्ट [12, 10, 15, 20] में सबसे छोटा नंबर ढूंढेंगे (पहली पोजीशन को छोड़कर)।
- बची हुई लिस्ट में सबसे छोटा 10 है।
- अब हम 10 को दूसरी पोजीशन वाले नंबर (12) के साथ Swap कर देंगे।
- Result:
[2, 10, 12, 15, 20](अब ‘2’ और ’10’ सॉर्टेड हैं)।
Pass 3 (तीसरा राउंड): अब बची हुई लिस्ट [12, 15, 20] में सबसे छोटा 12 है।
- यह पहले से अपनी सही जगह (तीसरी पोजीशन) पर है, तो हम इसे वही छोड़ देंगे (या खुद से ही swap करेंगे)।
- Result:
[2, 10, 12, 15, 20]
Pass 4 (चौथा राउंड): अब बची हुई लिस्ट [15, 20] में सबसे छोटा 15 है।
- यह भी अपनी सही जगह पर है।
- Final Sorted List: [2, 10, 12, 15, 20]
Time Complexity Analysis – यह कितना फ़ास्ट है?
Selection Sort की परफॉरमेंस लगभग Bubble Sort जैसी ही होती है, लेकिन इसमें Swaps कम होते हैं।
- Time Complexity: $O(n^2)$ (चाहे Best Case हो या Worst Case, यह हमेशा $O(n^2)$ ही समय लेता है क्योंकि इसे हर बार सबसे छोटा नंबर ढूंढना ही पड़ता है)।
- Space Complexity: $O(1)$ (यह In-place sorting है)।
Selection Sort vs Bubble Sort in Hindi – सिलेक्शन सॉर्ट और बबल सॉर्ट में क्या अंतर है?
| Feature | Bubble Sort | Selection Sort |
| Logic | पड़ोसियों (adjacent elements) को compare और swap करता है। | पूरी लिस्ट में से Minimum element को select करके सही जगह रखता है। |
| Swapping | इसमें बहुत ज्यादा swaps होते हैं। | इसमें maximum $O(n)$ swaps ही होते हैं (हर राउंड में एक)। |
| Use Case | इसका उपयोग कम होता है। | जब memory में write operation महंगा हो, तो इसका उपयोग किया जाता है (क्योंकि इसमें swaps कम हैं)। |
Conclusion – निष्कर्ष
हमें उम्मीद है कि इस पोस्ट से आपने Selection Sort in Hindi (इसका लॉजिक और वर्किंग) अच्छी तरह समझ लिया होगा। संक्षेप में कहें तो, Selection Sort का सबसे बड़ा फायदा यह है कि यह Swaps बहुत कम करता है। अगर आपके पास ऐसा सिस्टम है जहाँ डाटा को move करना (swap करना) महंगा पड़ता है, तो वहां Selection Sort, Bubble Sort से बेहतर है।
अगर आपको यह लेख उपयोगी लगा हो तो इसे अपने कोडर दोस्तों के साथ शेयर करें।
FAQs
Q1. Selection Sort को ‘Selection’ क्यों कहते हैं?
Ans: क्योंकि यह एल्गोरिदम हर स्टेप में बची हुई लिस्ट में से सबसे छोटे एलिमेंट को Select (चुनता) है और उसे सही जगह रखता है।
Q2. क्या Selection Sort बड़े डाटा के लिए अच्छा है?
Ans: नहीं, इसकी Time Complexity $O(n^2)$ है, इसलिए यह बड़े datasets के लिए बहुत slow है। इसके लिए Merge Sort या Quick Sort बेहतर हैं।
Q3. Selection Sort और Bubble Sort में कौन बेहतर है?
Ans: अगर Swaps की बात करें तो Selection Sort बेहतर है क्योंकि यह कम swaps करता है। लेकिन Bubble Sort यह पता लगा सकता है कि लिस्ट पहले से sorted है या नहीं, जो Selection Sort नहीं कर सकता।