selection sort java selection sort algorithm examples
यह ट्यूटोरियल चयन सॉर्ट एल्गोरिथ्म, जावा कोड, जावा और जावा परीक्षा में कार्यान्वयन के साथ जावा में चयन सॉर्ट के बारे में बताएगा:
चयन सॉर्ट तकनीक एक ऐसी विधि है जिसमें सरणी में सबसे छोटे तत्व को चुना जाता है और सरणी के पहले तत्व के साथ स्वैप किया जाता है। इसके बाद, सरणी में दूसरा सबसे छोटा तत्व दूसरे तत्व और इसके विपरीत के साथ आदान-प्रदान किया जाता है।
=> जावा प्रशिक्षण ट्यूटोरियल के ए-जेड को देखने के लिए यहां देखें।
आप क्या सीखेंगे:
जावा में चयन सॉर्ट
इस तरह से सरणी का सबसे छोटा तत्व बार-बार चुना जाता है और अपनी उचित स्थिति में डाल दिया जाता है जब तक कि पूरे सरणी को सॉर्ट नहीं किया जाता है।
चयन के लिए दो उप-सरणियों का रखरखाव किया जाता है:
- क्रमबद्ध उप-सरणी: प्रत्येक पुनरावृत्ति में, न्यूनतम तत्व पाया जाता है और अपनी उचित स्थिति में रखा जाता है। यह उप-सरणी सॉर्ट की गई है।
- गैर-उप-सरणी: शेष तत्व जिन्हें छांटा नहीं गया है।
चयन सॉर्ट एक सीधी और आसान छँटाई तकनीक है। तकनीक में हर पास में सबसे छोटा तत्व ढूंढना और उसे सही स्थिति में रखना शामिल है। चयन डेटा छोटे डेटा सेट के लिए आदर्श है क्योंकि यह छोटे डेटासेट को कुशलता से सॉर्ट करता है।
इस प्रकार हम कह सकते हैं कि डेटा की बड़ी सूची के लिए चयन प्रकार उचित नहीं है।
चयन सॉर्ट एल्गोरिथम
चयन सॉर्ट के लिए सामान्य एल्गोरिदम नीचे दिया गया है:
चयन सॉर्ट (ए, एन)
चरण 1 : K = 1 से N-1 के लिए चरण 2 और 3 दोहराएं
चरण 2 : कॉल रूटीन सबसे छोटा (A, K, N, POS)
चरण 3 :
A (POS) के साथ स्वैप A (K)
(लूप का अंत)
चरण 4 : बाहर जाएं
दिनचर्या सबसे छोटी (A, K, N, POS)
चरण 1 : (इनिशियलाइज़) सेट करें smallestItem = A (K)
चरण 2 : (आरंभ करें) POS = K सेट करें
चरण 3 :
J = K + 1 से N -1 के लिए, दोहराएं
अगर सबसे छोटा हो तो> ए (जे)
छोटा सेट करें = ए (जे)
सेट पीओएस = जे
(अगर समाप्त हुआ)
(लूप का अंत)
चरण 4 : पीओएस लौटाएं
जैसा कि आप देख सकते हैं, डेटा सेट को ट्रेस करते समय सबसे छोटी संख्या को खोजने की दिनचर्या को कहा जाता है। एक बार सबसे छोटा तत्व मिलने के बाद, इसे अपनी इच्छित स्थिति में रखा जाता है।
Xbox एक के लिए आभासी वास्तविकता हेडसेट
चयन के लिए छद्मकोड
चयन प्रकार एल्गोरिथ्म के लिए छद्म कोड नीचे दिया गया है।
Procedure selection_sort(array,N) array – array of items to be sorted N – size of array begin for I = 1 to N-1 begin set min = i for j = i+1 to N begin if array(j) आइए अब चयन प्रकार का उपयोग करके एक सरणी की छँटाई का वर्णन करते हैं।
चयन सॉर्ट उदाहरण
निम्न प्रकार पर विचार करें जिसे चयन प्रकार के उदाहरण के रूप में क्रमबद्ध किया जाना है।





नीचे दिए गए उदाहरण के लिए एक सारणीबद्ध प्रतिनिधित्व है:
अनारक्षित सूची कम से कम तत्व क्रमबद्ध सूची {17,10,7,29,2} दो {} {17,10,7,29} । {दो} {17,10,29} १० {2.7} {17.29} १। {2,7,10) {29} २ ९ {2,7,10,17} {} {2,7,10,17,29}
दृष्टांत से, हम देखते हैं कि प्रत्येक पास के साथ अगले सबसे छोटे तत्व को सॉर्ट किए गए सरणी में अपनी सही स्थिति में रखा जाता है। सामान्य तौर पर, N तत्वों की एक सरणी को सॉर्ट करने के लिए, हमें N-1 पास की आवश्यकता होती है।
चयन क्रमबद्ध कार्यान्वयन जावा में
आइए अब चयन क्रम को लागू करने के लिए जावा प्रोग्राम प्रदर्शित करते हैं।
import java.util.*; class Main { static void sel_sort(int numArray()) { int n = numArray.length; // traverse unsorted array for (int i = 0; i आउटपुट:
मूल सरणी: (7, ५, २, २०, ४२, १५, २३, ३४, १०)
क्रमबद्ध सरणी: (2, 5, 7, 10, 15, 20, 23, 34, 42)

उपरोक्त जावा उदाहरण में, हम बार-बार सरणी में सबसे छोटे तत्व को खोजते हैं और इसे सॉर्ट किए गए सरणी में डालते हैं जब तक कि पूरी सरणी पूरी तरह से खाली न हो जाए।
चयन क्रमबद्ध लिंक सूची जावा में
नीचे दी गई एक लिंक की गई सूची है और हमें इसे चयन प्रकार का उपयोग करके सॉर्ट करना है। ऐसा करने के लिए हम चयन प्रकार के पुनरावर्ती दृष्टिकोण का उपयोग करेंगे। नोड के डेटा भाग को स्वैप करने के बजाय, हम नोड्स को स्वैप करेंगे और पॉइंटर्स को पुनः सेट करेंगे।
इसलिए यदि लिंक की गई सूची निम्नानुसार दी गई है:


नीचे दिया गया जावा प्रोग्राम है जो उपरोक्त छँटाई को लागू करता है।
// add a node to the beginning of the linked list static Node addNode( Node head_ref, int new_data) { // create a node Node newNode = new Node(); // assign data to node newNode.data = new_data; // link the node to linked list newNode.next = (head_ref); //head now points to new node (head_ref) = newNode; return head_ref; } // method to swap nodes static Node swapNodes( Node head_ref, Node curr_node1, Node curr_node2, Node prev_node) { // curr_node2 is new head head_ref = curr_node2; // realign links prev_node.next = curr_node1; // now swap next pointers of nodes Node temp = curr_node2.next; curr_node2.next = curr_node1.next; curr_node1.next = temp; return head_ref; } // sort the linked list using selection sort static Node Selection_Sort( Node head) { // only a single node in linked list if (head.next == null) return head; // minNode => node with minimum data value Node minNode = head; // prevMin => node previous to minNode Node prevMin = null; Node ptr; // traverse the list from head to last node for (ptr = head; ptr.next != null; ptr = ptr.next) { // check if current node is minimum if (ptr.next.data आउटपुट:
मूल लिंक की गई सूची:
९ ३ ५ १ ११
छँटाई के बाद लिंक की गई सूची:
१ ३ ५ 7 ९ ११

ध्यान दें कि उपरोक्त कार्यक्रम में, हमने नोड के केवल डेटा घटक को छाँटने के बजाय नोड्स के पुन: लिंक किए हैं।
बार बार पूछे जाने वाले प्रश्न
Q # 1) चयन कैसे काम करता है?
उत्तर: चयन प्रकार दो उप-सरणियों को बनाए रखकर काम करता है। अनसोल्ड सबर्रे से न्यूनतम तत्व को एक सॉर्ट किए गए उप-सरणी में अपनी उचित स्थिति में रखा गया है। फिर दूसरे-निम्नतम तत्व को उसकी उचित स्थिति में रखा गया है। इस तरह, प्रत्येक पुनरावृत्ति के दौरान एक न्यूनतम तत्व का चयन करके पूरे सरणी को क्रमबद्ध किया जाता है।
क्यू # 2) चयन प्रकार की जटिलता क्या है?
उत्तर: चयन प्रकार की समग्र जटिलता O (n) हैदो), जिससे यह एल्गोरिथ्म बना जो बड़े डेटा सेट पर अक्षम है। अन्य छंटाई तकनीक अधिक कुशल हैं।
क्यू # 3) चयन प्रकार के फायदे और नुकसान क्या हैं?
उत्तर: चयन सॉर्ट इन-प्लेस सॉर्टिंग तकनीक है और इस प्रकार इसे मध्यवर्ती तत्वों को संग्रहीत करने के लिए अतिरिक्त भंडारण की आवश्यकता नहीं होती है।
विंडोज़ 10 के लिए सबसे अच्छा विरोधी स्पायवेयर
यह छोटे डेटा संरचनाओं के साथ-साथ लगभग सेट किए गए डेटा सेटों पर कुशलता से काम करता है।
चयन सॉर्ट तकनीक का प्रमुख नुकसान यह है कि यह बहुत खराब प्रदर्शन करता है क्योंकि डेटा संरचना का आकार बढ़ता है। यह न केवल धीमा हो जाता है, बल्कि दक्षता भी घट जाती है।
क्यू # 4) चयन क्रम में कितने स्वैप हैं?
उत्तर: चयन सॉर्ट तकनीक न्यूनतम स्वैप संख्या लेती है। सबसे अच्छे मामले के लिए, जब सरणी को सॉर्ट किया जाता है, तो चयन सॉर्ट में स्वैप की संख्या 0 होती है।
क्यू # 5) क्या चयन सॉर्ट इंसर्शन सॉर्ट से अधिक तेज़ है?
उत्तर: सम्मिलन प्रकार तेज और अधिक कुशल होने के साथ-साथ स्थिर भी है। चयन सॉर्ट केवल छोटे डेटा सेट और आंशिक रूप से सॉर्ट किए गए संरचनाओं के लिए तेज़ है।
निष्कर्ष
चयन सॉर्ट एक ऐसी तकनीक है जो सरणी को ट्रेस करते समय न्यूनतम तत्व का चयन करके काम करती है। प्रत्येक पास / पुनरावृत्ति के लिए, डेटा सेट में अगले न्यूनतम तत्व का चयन किया जाता है और उसे उचित स्थिति में रखा जाता है।
डेटा सेट में तत्वों की संख्या कम होने पर चयन सॉर्ट तकनीक कुशलता से काम करती है, लेकिन डेटा का आकार बढ़ने के साथ ही यह खराब प्रदर्शन करने लगता है। सम्मिलन प्रकार जैसी अन्य समान तकनीकों की तुलना में यह अक्षम हो जाता है।
इस ट्यूटोरियल में, हमने चयन प्रकार का उपयोग करके सरणियों और लिंक्ड सूची को क्रमबद्ध करने के लिए उदाहरणों को लागू किया है।
=> सभी के लिए जावा प्रशिक्षण श्रृंखला देखने के लिए यहां जाएं।
अनुशंसित पाठ
- कैसे जावा में एक सरणी को सॉर्ट करने के लिए - उदाहरण के साथ ट्यूटोरियल
- चयन सी में सी + + उदाहरण के साथ
- कोड उदाहरण के साथ जावा ऐरे लेंथ ट्यूटोरियल
- MongoDB सॉर्ट () उदाहरण के साथ विधि
- जावा में दांतेदार सरणी - उदाहरणों के साथ ट्यूटोरियल
- सिंटेक्स, विकल्प और उदाहरण के साथ यूनिक्स सॉर्ट कमांड
- जावा में एक सरणी उल्टा - उदाहरण के साथ 3 तरीके
- जावा ट्यूटोरियल फॉर बिगिनर्स: 100+ हैंड्स-ऑन जावा वीडियो ट्यूटोरियल