यह ब्लॉग विभाजन और जीत के दृष्टिकोण पर आधारित है। मर्ज सॉर्ट एक 'विभाजित और जीत' एल्गोरिथ्म है जहां समस्या को उप-प्रकार में विभाजित किया जाता है और फिर समाधान को जीतने के लिए विलय कर दिया जाता है। इस ब्लॉग पर मर्ज क्रमबद्ध करें आपको नीचे दिए गए विषयों के बारे में विस्तार से बताएंगे -
- पायथन में मर्ज सॉर्ट क्या है?
- डिवाइड एंड कॉन्कर दृष्टिकोण
- पायथन में मर्ज सॉर्ट को लागू करना
- मर्ज सॉर्ट के कार्यान्वयन के लिए फ़्लोचार्ट
- लाभ और उपयोग
पायथन में मर्ज सॉर्ट क्या है?
मर्ज सॉर्ट डिवाइड पर आधारित है और एल्गोरिथ्म को जीतता है जहां इनपुट सरणी को दो हिस्सों में विभाजित किया जाता है, फिर अलग से हल किया जाता है और समाधान तक पहुंचने के लिए वापस विलय कर दिया जाता है। फ़ंक्शन मर्ज () का उपयोग सॉर्ट करने के लिए किया जाता है ।
डिवाइड एंड कॉन्कर दृष्टिकोण
- सरणी को आधे में विभाजित किया गया है और प्रक्रिया को प्रत्येक आधे के साथ दोहराया जाता है जब तक कि प्रत्येक आधा आकार 1 या 0 न हो।
- आकार 1 का सरणी तुच्छ रूप से क्रमबद्ध है।
- अब दो क्रमबद्ध सरणियों को एक बड़े सरणी में जोड़ा जाता है। और यह तब तक जारी रखा जाता है जब तक कि सभी तत्व संयुक्त नहीं हो जाते हैं और सरणी क्रमबद्ध हो जाती है।
यहाँ आपके लिए चित्र को साफ़ करने के लिए मर्ज सॉर्ट का एक दृश्य है
इनपुट एरी = [3,1,4,1,5,9,2,6,5,4]
झांकी में एक पैरामीटर क्या है
अब, हम कार्यान्वयन के लिए आगे बढ़ते हैं।
पायथन में मर्ज सॉर्ट को लागू करना
डिफ मर्जस्टर्ट (nlist): प्रिंट ('स्प्लिटिंग', नलिस्ट) अगर len (nlist)> 1: mid = len (nlist) // 2 बायीं ओर = nlist [: mid] राईटफॉल = nlist [मध्य]: mergeSort (बायीं ओर) (दायां भाग) i = j = k = 0 जबकि मैंआउटपुट:
$ अजगर मेनफ्रेम
(, स्प्लिटिंग ‘, [3, 1, 4, 1, 5, 9, 2, 6, 5, 4)
(4 स्प्लिटिंग ‘, [3, 1, 4, 1, 5])
(‘स्प्लिटिंग‘, [3, 1])
(‘स्प्लिटिंग‘, [3])
(‘मर्जिंग‘, [3])
(‘स्प्लिटिंग‘, [1])
(‘विलय‘, [1])
() विलय ‘, [1, 3])
(‘स्प्लिटिंग‘, [4, 1, 5])
(‘स्प्लिटिंग‘, [4])
(‘मर्जिंग‘, [4])
(‘स्प्लिटिंग‘, [1, 5])
(‘स्प्लिटिंग‘, [1])
(‘विलय‘, [1])
(‘स्प्लिटिंग‘, [5])
(‘मर्जिंग‘, [5])
() मर्जिंग ‘, [1, 5])
(5 मर्जिंग ‘, [1, 4, 5])
(3 विलय ‘, [1, 1, 3, 4, 5])
(‘स्प्लिटिंग‘, [9, 2, 6, 5, 4])
(‘स्प्लिटिंग‘, [9, 2])
(‘स्प्लिटिंग‘, [9])
(‘मर्जिंग‘, [9])
(‘स्प्लिटिंग‘, [2])
(‘मर्जिंग‘, [2])
() मर्जिंग [, [2, 9])
(4 स्प्लिटिंग ‘, [6, 5, 4])
(‘स्प्लिटिंग‘, [6])
(‘मर्जिंग‘, [6])
(‘स्प्लिटिंग‘, [5, 4])
(‘स्प्लिटिंग‘, [5])
(‘मर्जिंग‘, [5])
(‘स्प्लिटिंग‘, [4])
(‘मर्जिंग‘, [4])
() मर्जिंग ‘, [4, 5])
(6 मर्जिंग ‘, [4, 5, 6])
(5 मर्जिंग ‘, [2, 4, 5, 6, 9])
(, मर्जिंग ‘, [1, 1, 2, 3, 4, 4, 5, 5, 6, 9)
[१, १, २, ३, ४, ४, ५, ५, ६, ९]
कैसे जावा में सिंगलटन वर्ग बनाने के लिएमर्ज सॉर्ट के कार्यान्वयन के लिए फ्लो चार्ट
मर्ज सॉर्ट के फायदे और उपयोग
अधिकांश अन्य एल्गोरिदम फाइलों और लिंक्ड सूचियों जैसी अनुक्रमिक डेटा संरचनाओं के साथ खराब प्रदर्शन करते हैं। इन संरचनाओं में एक यादृच्छिक तत्व तक पहुँचने में नियमित समय नहीं बल्कि रैखिक समय लगता है। और मर्ज प्रकार की प्रकृति ऐसी डेटा संरचनाओं के लिए आसान और तेज़ बनाती है।मर्ज सॉर्ट की सबसे अच्छी विशेषताओं में से एक इसकी कम संख्या है। यह O (n * log (n)) तुलनाओं की संख्या बनाता है, लेकिन एस्कॉर्ट की तुलना में स्थिर कारक अच्छा है, जो कि तुलनात्मक फ़ंक्शन धीमा ऑपरेशन होने पर इसे उपयोगी बनाता है।इसके अलावा, मर्ज के प्रकार का विभाजन और विजय दृष्टिकोण समानांतर प्रसंस्करण के लिए सुविधाजनक बनाता है।
इसके साथ, हम 'पायथन में मर्ज सॉर्ट को कैसे लागू करें' पर इस ब्लॉग के अंत में आते हैं। मुझे आशा है कि सामग्री ने पायथन में आपके ज्ञान के लिए कुछ मूल्य जोड़ा है। अपने विभिन्न अनुप्रयोगों के साथ अजगर पर गहराई से ज्ञान प्राप्त करने के लिए, आप लाइव के लिए नामांकन कर सकते हैं 24/7 समर्थन और आजीवन पहुंच के साथ।