पायथन चयन क्रम एक सूची को दो छोटी सूचियों में विभाजित करता है। एक सूची क्रमबद्ध तत्वों का प्रतिनिधित्व करती है। दूसरी सूची में अवर्गीकृत तत्व शामिल हैं। चयन क्रम प्रत्येक पुनरावृत्ति में सबसे छोटा या उच्चतम मान ढूंढता है और उन मानों को क्रमबद्ध सूची में ले जाता है।
कार्यक्रमों की एक श्रृंखला में सूचियों को छांटना एक सामान्य ऑपरेशन है।
इस उदाहरण पर विचार करें:एक शिक्षक इस बारे में अधिक जानना चाहता है कि उनके छात्रों ने अपने सबसे हाल के परीक्षण में कितना अच्छा प्रदर्शन किया। एक शिक्षक छात्रों के अंकों को आरोही और अवरोही क्रम में क्रमबद्ध करना चाह सकता है। इससे उन्हें आसानी से पता चल जाएगा कि उच्चतम और निम्नतम परीक्षण स्कोर क्या थे।
दर्ज करें, चयन प्रकार। चयन क्रम एक एल्गोरिथम है जिसका उपयोग आप किसी सूची को आरोही क्रम या अवरोही क्रम में क्रमबद्ध करने के लिए कर सकते हैं।
इस गाइड में, हम चर्चा करने जा रहे हैं कि पायथन में सिलेक्शन सॉर्ट प्रोग्राम कैसे लिखें। हम इस पूरे गाइड में एक उदाहरण के माध्यम से चलेंगे ताकि आप चयन प्रकारों के बारे में जान सकें।
पायथन सिलेक्शन सॉर्ट क्या है?
एक पायथन चयन क्रम बार-बार सूची में न्यूनतम तत्व ढूंढता है और उस तत्व को सूची के एक विशेष अंत में ले जाता है। क्रम तब तक चलता रहता है जब तक कि सरणी क्रम में क्रमबद्ध न हो जाए। आप अधिकतम तत्व खोजने के लिए चयन प्रकार का निर्देश भी दे सकते हैं। दोनों दृष्टिकोण एक सूची को क्रमबद्ध करते हैं।
चयन प्रकार मानते हैं कि सूची में पहला तत्व सबसे छोटा मान है। फिर सॉर्ट उस मान की तुलना दूसरे तत्व से करेगा। यदि दूसरा तत्व न्यूनतम मान से छोटा है, तो दूसरा तत्व न्यूनतम मान बन जाता है।
यह प्रक्रिया तब तक दोहराई जाती है जब तक कि सूची के अंतिम तत्व तक नहीं पहुंच जाता। एक बार जब यह तत्व पहुंच जाता है, तो न्यूनतम मान को क्रमबद्ध सूची की शुरुआत में रखा जाता है।
81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी तकनीकी नौकरी की संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही एक बूटकैंप से मिलान करें।
बूटकैंप शुरू करने से लेकर अपनी पहली नौकरी खोजने तक, औसत बूटकैंप ग्रेड ने करियर संक्रमण में छह महीने से भी कम समय बिताया।
पायथन सिलेक्शन सॉर्ट गाइड
उदाहरण के माध्यम से चलने के बजाय चयन प्रकारों के बारे में जानने का कोई बेहतर तरीका नहीं है। आइए छात्र ग्रेड की सूची को आरोही क्रम में देखें और क्रमबद्ध करें। इस क्रमबद्ध सूची पर विचार करें:
73 | 62 | 61 | 69 |
हम अपनी सूची के पहले मान को न्यूनतम . कहकर शुरू करेंगे . चयन क्रम का प्रत्येक पुनरावृत्ति सबसे छोटा तत्व ढूंढेगा और उसे क्रमबद्ध उप-सरणी में ले जाएगा।
न्यूनतम तत्व को छाँटना एक विकल्प है। यदि आप अधिकतम तत्व को सॉर्ट करते हैं तो एक चयन क्रम काम करता है। लेकिन, हम इस उदाहरण में न्यूनतम तत्व का उपयोग कर रहे हैं।
अगला, हम दूसरे तत्व के साथ न्यूनतम मान की तुलना करेंगे। यदि यह तत्व न्यूनतम से छोटा है, तो दूसरा तत्व न्यूनतम मान बन जाना चाहिए।
हम 73 और 62 की तुलना करने जा रहे हैं। 73 62 से बड़ा है, जिसका अर्थ है कि हमारा नया न्यूनतम मूल्य 62 है। हमारी सूची तब हमारी सूची में अन्य सभी नंबरों के माध्यम से जाएगी:
- क्या 61, 62 से अधिक है (हमारा न्यूनतम मूल्य)? नहीं, इसलिए नंबर स्वैप करें। न्यूनतम 61 हो जाता है।
- क्या 69 61 से अधिक है (हमारा न्यूनतम मूल्य)? हाँ, तो कुछ मत करो। 61 पर न्यूनतम रहता है।
हमारी सूची एक जैसी दिखती है:
73 | 62 | 61 | 69 |
जब आप सूची के अंत तक पहुँच जाते हैं, तो आप न्यूनतम को सूची की शुरुआत में ले जा सकते हैं:
61 | 73 | 62 | 69 |
61 (हमारा न्यूनतम मूल्य) को सूची की शुरुआत में स्थानांतरित कर दिया गया है, और हर दूसरे मूल्य में एक से वृद्धि हुई है। हम इस प्रक्रिया को तब तक दोहराते रहेंगे जब तक कि सभी तत्वों को क्रमबद्ध नहीं कर दिया जाता।
हमारी सूची का प्रत्येक पुनरावृत्ति निम्नलिखित लौटाएगा:
- 73, 62, 61, 69
- 61, 73, 62, 69
- 61, 62, 73, 69
- 61, 62, 69, 73
जब चयन क्रम ने सूची में सभी तत्वों की जाँच कर ली है, तो क्रम बंद हो जाएगा।
सॉर्ट किया गया सबअरे और सबएरे जो बिना सॉर्ट किया गया है, दोनों हमारे लिए अदृश्य हैं। हमारा एल्गोरिथम हमारे लिए एक ऐरे को सॉर्ट करता है और ऐरे के अनसोल्ड पार्ट का ट्रैक रखता है।
पायथन में सिलेक्शन सॉर्ट कैसे करें
अब आप इस सिद्धांत से परिचित हो गए हैं:अच्छा किया! बड़ी चुनौती का समय है। हम पायथन में चयन सॉर्ट एल्गोरिथ्म को लागू करने जा रहे हैं। आइए एक प्रोग्राम लिखें जो एक पायथन सरणी लेता है और इसे आरोही क्रम में क्रमबद्ध करता है।
सॉर्ट फ़ंक्शन को परिभाषित करें
हम एक पायथन फ़ंक्शन को परिभाषित करके शुरू करेंगे जो हमारे चयन प्रकार को निष्पादित करता है:
def sortList(array): length = len(array) for item in range(length): minimum = item for i in range(item + 1, length): if array[i] < array[minimum]: minimum = i (array[item], array[minimum]) = (array[minimum], array[item])
हमने अपनी सूची की लंबाई प्राप्त करने के लिए पायथन लेन () पद्धति का उपयोग करके शुरुआत की है। इसके बाद हम इसका उपयोग के लिए . पायथन आरंभ करने के लिए करते हैं लूप जो हमारी सूची के प्रत्येक आइटम पर लूप करता है।
लूप में प्रत्येक पुनरावृत्ति के लिए, हम न्यूनतम . का मान सेट करते हैं हमारी सूची में पहला आइटम होने के लिए। हमने पहले अपने पूर्वाभ्यास में ऐसा किया था। एक बार जब हम एक न्यूनतम मान सेट कर लेते हैं, तो दूसरा के लिए लूप शुरू होता है जो हमारी सूची में प्रत्येक आइटम के माध्यम से चलता है।
सूची में प्रत्येक आइटम के लिए, हमारा एल्गोरिदम जांचता है कि न्यूनतम मूल्य उस आइटम से बड़ा है या नहीं। अगर है तो कुछ नहीं होता; अन्यथा, न्यूनतम मान वह आइटम बन जाता है जिसे प्रोग्राम पढ़ रहा है।
हमारी सूची में प्रत्येक आइटम के माध्यम से लूप करने पर, हमारा एल्गोरिदम न्यूनतम मान को सूची की शुरुआत में ले जाता है। फिर, हमारा कार्यक्रम शीर्ष के लिए . तक चलता रहेगा लूप समाप्त होता है। ऐसा इसलिए है क्योंकि चयन प्रकार सूची की लंबाई के बराबर कई बार चलते हैं।
सॉर्टिंग फ़ंक्शन को कॉल करें
आपने देखा होगा कि अगर हम अपना प्रोग्राम चलाते हैं, तो कुछ नहीं होता है। ऐसा इसलिए है क्योंकि हमने अभी तक अपने कोड को यह नहीं बताया है कि अभी तक किन मूल्यों का उपयोग करना है। सॉर्टलिस्ट फ़ंक्शन के बाहर, अपने प्रोग्राम के निचले भाग में निम्न कोड जोड़ें:
numbers = [73, 62, 61, 69] sortList(numbers) print("Sorted list:", numbers)
जब हम अपना प्रोग्राम चलाते हैं, तो निम्नलिखित लौटाया जाता है:
[61, 62, 69, 73]
हमारी सूची तैयार कर ली गई है। अपने आप को शाबाशी दो; आपने कर दिया!
किसी सूची को अवरोही क्रम में क्रमबद्ध करने के लिए चयन प्रकार का उपयोग किया जा सकता है। यदि आप किसी सूची को इस प्रकार क्रमबद्ध करना चाहते हैं, तो आप चयन क्रम में "if" कथन को निम्न में बदल सकते हैं:
if array[i] > array[minimum]:
हमने छोटे से छोटे चिह्न को चिह्न से बड़े में बदल दिया है। यह हमारी सूची को अवरोही क्रम में क्रमबद्ध करेगा, क्योंकि न्यूनतम मान सूची में उच्चतम मान पर सेट किया जाएगा। तकनीकी रूप से, हमारा न्यूनतम मान अधिकतम . हो जाता है मूल्य।
आपको चयन क्रम का उपयोग कब करना चाहिए?
चयन प्रकार, जैसे बबल प्रकार, छोटी सूचियों के लिए सर्वोत्तम रूप से उपयोग किए जाते हैं। ऐसा इसलिए है क्योंकि बड़ी सूचियों पर उपयोग किए जाने पर एल्गोरिदम अन्य लोगों की तरह कुशल नहीं है, जैसे कि सम्मिलन क्रम।
जब आप केवल सॉर्टिंग एल्गोरिदम के साथ शुरुआत कर रहे हों, तो सीखने के लिए एक चयन सॉर्ट एक बेहतरीन प्रकार है। अन्य प्रकारों में महारत हासिल करना मुश्किल हो सकता है, लेकिन चयन प्रकारों की स्पष्ट समझ होने से आपको विभिन्न प्रकार की सूचियों को समझने में मदद मिल सकती है।
चयन क्रम की जटिलता क्या है?
चयन क्रम में O(n2) की समय जटिलता होती है। इसका मतलब है कि सूची में कितने तत्व हैं, इसके आधार पर एल्गोरिथ्म की जटिलता तेजी से बढ़ेगी।
O(n2) इस एल्गोरिथम के लिए सबसे खराब स्थिति, औसत और सर्वोत्तम-केस जटिलता है। यदि आप जटिलताओं को छांटने के बारे में अधिक जानना चाहते हैं, तो बिग ओ नोटेशन के लिए हमारी मार्गदर्शिका देखें।
निष्कर्ष
डेटा सॉर्ट करने का एक महत्वपूर्ण तरीका चयन प्रकार है। चयन प्रकार सूची में प्रत्येक आइटम के माध्यम से पढ़ते हैं और, प्रत्येक पुनरावृत्ति पर, सबसे छोटी वस्तु को सूची की शुरुआत में ले जाते हैं। यह तब तक होता है जब तक सूची में प्रत्येक आइटम को पढ़ा नहीं जाता है।
शिक्षण के बाहर चयन प्रकारों का व्यापक रूप से उपयोग नहीं किया जाता है क्योंकि उपयोग करने के लिए अधिक कुशल एल्गोरिदम हैं। इसके साथ ही, वे अन्य प्रकार के सीखने में एक अच्छा स्प्रिंगबोर्ड हैं, जैसे कि सम्मिलन या मर्ज सॉर्ट।
क्या आप पायथन के बारे में अधिक जानने में रुचि रखते हैं? अपने ज्ञान को आगे बढ़ाने में आपकी मदद करने के लिए विशेषज्ञ सलाह के लिए हमारा पूरा कैसे सीखें पायथन गाइड पढ़ें।