"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > चयन सॉर्ट एल्गोरिथ्म

चयन सॉर्ट एल्गोरिथ्म

2024-11-07 को प्रकाशित
ब्राउज़ करें:665

Selection Sort Algorithm

चयन क्रम क्या है?

चयन सॉर्ट एल्गोरिदम सरणी को दो भागों में विभाजित करता है: क्रमबद्ध भाग और अवर्गीकृत भाग। प्रारंभ में, क्रमबद्ध भाग खाली होता है, और अवर्गीकृत भाग में सभी तत्व होते हैं। एल्गोरिथ्म अवर्गीकृत भाग से सबसे छोटा (या सॉर्टिंग क्रम के आधार पर सबसे बड़ा) तत्व ढूंढकर और उसे अवर्गीकृत भाग के पहले तत्व के साथ स्वैप करके काम करता है। यह प्रक्रिया तब तक जारी रहती है जब तक कि संपूर्ण सरणी क्रमबद्ध न हो जाए।

एल्गोरिथम चरण

  1. सरणी में पहले तत्व से प्रारंभ करें और मान लें कि यह सबसे छोटा है।
  2. इस तत्व की तुलना सरणी के अन्य तत्वों से करें।
  3. यदि आपको कोई छोटा तत्व मिलता है, तो उसे पहले तत्व से बदलें।
  4. सरणी में अगले तत्व पर जाएं और शेष अवर्गीकृत तत्वों के लिए प्रक्रिया को दोहराएं।
  5. इस प्रक्रिया को तब तक जारी रखें जब तक कि संपूर्ण सरणी क्रमबद्ध न हो जाए।
#Suppose we have the following array:

arr = [64, 25, 12, 22, 11]

पास 1:

  • सूचकांक 0 और शेष सरणी के बीच सबसे छोटा तत्व 11 है।
  • हम 64 को 11 से बदलते हैं।

पहले पास के बाद सरणी: [11, 25, 12, 22, 64]

पास 2:

  • अब, सूचकांक 1 से शुरू होने वाले उपसरणी पर ध्यान केंद्रित करें। 25, 12, 22, 64 के बीच सबसे छोटा तत्व 12 है।
  • हम 25 को 12 से बदलते हैं।

दूसरे पास के बाद सरणी: [11, 12, 25, 22, 64]

पास 3:

  • 25, 22, 64 के बीच सबसे छोटा तत्व 22 है।
  • हम 25 को 22 से बदलते हैं।

तीसरी पास के बाद सरणी: [11, 12, 22, 25, 64]

पास 4:

  • उपसरणी में अब 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²) समय जटिलता के कारण बड़े डेटासेट के लिए अक्षम।

  • यह एक स्थिर सॉर्टिंग एल्गोरिदम नहीं है, जिसका अर्थ है कि समान तत्व एक-दूसरे के सापेक्ष अपने क्रम को संरक्षित नहीं कर सकते हैं।

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: https://dev.to/shubham_kharche_05/selection-sort-algorithm-2g63?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3