चयन सॉर्ट एल्गोरिदम सरणी को दो भागों में विभाजित करता है: क्रमबद्ध भाग और अवर्गीकृत भाग। प्रारंभ में, क्रमबद्ध भाग खाली होता है, और अवर्गीकृत भाग में सभी तत्व होते हैं। एल्गोरिथ्म अवर्गीकृत भाग से सबसे छोटा (या सॉर्टिंग क्रम के आधार पर सबसे बड़ा) तत्व ढूंढकर और उसे अवर्गीकृत भाग के पहले तत्व के साथ स्वैप करके काम करता है। यह प्रक्रिया तब तक जारी रहती है जब तक कि संपूर्ण सरणी क्रमबद्ध न हो जाए।
#Suppose we have the following array: arr = [64, 25, 12, 22, 11]
पहले पास के बाद सरणी: [11, 25, 12, 22, 64]
दूसरे पास के बाद सरणी: [11, 12, 25, 22, 64]
तीसरी पास के बाद सरणी: [11, 12, 22, 25, 64]
अंतिम क्रमबद्ध सरणी: [11, 12, 22, 25, 64]
def selection_sort(arr): # Traverse through all array elements for i in range(len(arr)): # Find the minimum element in the remaining unsorted part min_index = i for j in range(i 1, len(arr)): if arr[j]क्रमबद्ध सरणी: [11, 12, 22, 25, 64]
चयन क्रम की समय जटिलता:
सर्वश्रेष्ठ मामला: O(n²)
औसत मामला: O(n²)
सबसे खराब स्थिति: O(n²)
भले ही चयन सॉर्ट छोटे डेटासेट के लिए अच्छा प्रदर्शन करता है, यह बड़े सरणियों के लिए आदर्श नहीं है क्योंकि इसकी समय जटिलता O(n²) है। हालाँकि, इसे लागू करना आसान है और उन मामलों में उपयोगी हो सकता है जहां मेमोरी एक चिंता का विषय है, क्योंकि चयन सॉर्ट जगह पर है (कोई अतिरिक्त मेमोरी की आवश्यकता नहीं है)।
फायदे:
समझने और लागू करने में सरल।
छोटी सूचियों पर अच्छा प्रदर्शन करता है।
इसे अतिरिक्त मेमोरी की आवश्यकता नहीं है क्योंकि यह सरणी को उसके स्थान पर क्रमबद्ध करता है।
नुकसान:
इसकी O(n²) समय जटिलता के कारण बड़े डेटासेट के लिए अक्षम।
यह एक स्थिर सॉर्टिंग एल्गोरिदम नहीं है, जिसका अर्थ है कि समान तत्व एक-दूसरे के सापेक्ष अपने क्रम को संरक्षित नहीं कर सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3