मर्ज सॉर्ट एल्गोरिथम: जावास्क्रिप्ट में एक स्पष्टीकरण

मर्ज सॉर्ट कंप्यूटर विज्ञान में सबसे अधिक उपयोग किए जाने वाले सॉर्टिंग एल्गोरिदम में से एक है और यह सबसे कुशल में से एक भी है। यह "फूट डालो और जीतो" के सिद्धांत पर आधारित है, और यह तकनीक कई अलग-अलग समस्याओं के लिए कुशल एल्गोरिदम का आधार है।

इस लेख में, मैं इस एल्गोरिथम के पीछे की अवधारणा के बारे में बात करने जा रहा हूं और आपको जावास्क्रिप्ट में एक उदाहरण दिखाऊंगा।

अवधारणा की व्याख्या

एक फूट डालो और जीतो एल्गोरिथ्म एक समस्या को छोटी समस्याओं में तब तक तोड़ देता है जब तक कि ये हल करने के लिए पर्याप्त सरल न हो जाएं। मूल समस्या का समाधान देने के लिए उप-समस्याओं के समाधान को जोड़ दिया जाता है।

एक सॉर्टिंग एल्गोरिदम पर, विचार यह है कि एक क्रमबद्ध सरणी के बजाय दो सॉर्ट किए गए सरणी को सॉर्ट करना आसान है। एक बार जब आपके पास दो क्रमबद्ध सरणियाँ हों, तो आप उनके आइटमों की एक-एक करके तुलना करके और पहले छोटे आइटम को जोड़कर उन्हें एक ही सरणी में मर्ज कर सकते हैं।

अवधारणा को समझना काफी आसान है लेकिन एक प्रश्न अभी भी बना हुआ है। हम उस स्थिति तक कैसे पहुँचते हैं जिसमें हमारे पास दो क्रमबद्ध सरणियाँ हैं? खैर, हम इसे फूट डालो और जीतो के साथ हासिल कर सकते हैं। हम सरणी को पुनरावर्ती रूप से हिस्सों में विभाजित करने जा रहे हैं। हम ऐसा तब तक करते हैं जब तक हम उस बिंदु तक नहीं पहुंच जाते जहां हम एकल-आइटम सरणियों के कई जोड़े की तुलना करते हैं।

आप नीचे देख सकते हैं कि कैसे हम पुनरावर्ती रूप से सरणी को छोटे सरणियों में विभाजित करते हैं जब तक कि हमारे पास केवल एक आइटम की सरणियाँ न हों।

[1,9,3,8,6,5,7,4,2]
[1,9,3,8]              [6,5,7,4,2]
[1,9]       [3,8]       [6,5]       [7,4,2]
[1]   [9]   [3]   [8]   [6]   [5]   [7]     [4,2]
[1]   [9]   [3]   [8]   [6]   [5]   [7]   [4]   [2]

[1]   [9]   [3]   [8]   [6]   [5]   [7]   [4]   [2]
[1]   [9]   [3]   [8]   [6]   [5]   [7]     [2,4]
[1,9]       [3,8]       [5,6]       [2,4,7]
[1,3,8,9]              [2,4,5,6,7]
[1,2,3,4,5,6,7,8,9]

const mergeSort = (arr) => {
  if (arr.length <= 1) {
    return arr;
  }
  const middle = Math.floor(arr.length / 2);
  return mergeArray(
    mergeSort(arr.slice(0, middle)), 
    mergeSort(arr.slice(middle))
  );
};
const mergeArray = (left, right) => {
  let result = [];
  while (left.length && right.length) {
    if (left[0] < right[0]) {
      result.push(left.shift());
    } else {
      result.push(right.shift());
    }
  }
return [...result, ...left, ...right];
};
const unorderedArray = [1, 9, 3, 8, 6, 5, 7, 4, 2];
console.log(mergeSort(unorderedArray)); // Returns ordered array

जैसा कि आप कोड में देख सकते हैं, मर्ज सॉर्ट एल्गोरिथम कार्यान्वयन बहुत सरल है। एक बार जब आप अवधारणा को समझ लेते हैं तो इसे किसी भी भाषा में लागू करना अपेक्षाकृत आसान हो जाता है।

खैर, इसके लिए बस इतना ही। आप क्या सोचते हैं मुझे बताओ। हैप्पी कोडिंग!

Plainenglish.io पर अधिक सामग्री

Suggested posts

डोमेन नाम के बारे में जानकारी ढूँढना

ब्रायन पी. होगन द्वारा स्मॉल, शार्प सॉफ्टवेयर टूल्स का एक अंश

डोमेन नाम के बारे में जानकारी ढूँढना

जब आप facebook.com से अनुरोध करते हैं, तो आपका कंप्यूटर उस डोमेन नाम को IP पते में अनुवादित करने के लिए डोमेन नाम खोजता है ताकि आपका कंप्यूटर वह कनेक्शन बना सके।

मैं मैथ से सीएस में कैसे स्थानांतरित हुआ

मैं मैथ से सीएस में कैसे स्थानांतरित हुआ

फॉल 2023 प्रवेश प्रक्रिया समाप्त हो रही है, और आस्थगित/अस्वीकृति हो रही है। बधाई हो अगर आपको UW में आपके सपनों के कार्यक्रम में स्वीकार कर लिया गया है।

Related posts

रीथिंकिंग मीडिया: मैककेनी के पांच सत्य और संचार का भविष्य

आज की हाइपर-कनेक्टेड दुनिया में, मीडिया सिस्टम जनता की राय को आकार देने में महत्वपूर्ण भूमिका निभाते हैं, और परिणामस्वरूप, लोकतांत्रिक निर्णय लेने में। संचार की राजनीतिक अर्थव्यवस्था के अपने गहन विश्लेषण में, विद्वान रॉबर्ट मैककेनी पारंपरिक ज्ञान को चुनौती देते हैं और मीडिया के बारे में "पांच सत्य" को प्रस्तुत करते हैं।

असीम जीवन

जब आप बड़े हो जाते हैं तो आपको बताया जाता है कि दुनिया वैसी ही है जैसी वह है और आपका जीवन सिर्फ दुनिया के अंदर अपना जीवन जीने के लिए है, कभी भी अपने जीवन को जोखिम में न डालें, बस एक निर्धारित मार्ग का अनुसरण करें और अंत में मर जाएं, और कोशिश न करें दीवारों को बहुत मारो।लेकिन यह बहुत सीमित जीवन है।

आप अपने प्रतीक्षा के मौसम में क्या कर सकते हैं (टेक में अपनी पहली नौकरी के लिए प्रतीक्षा कर रहे हैं)

आप अपने प्रतीक्षा के मौसम में क्या कर सकते हैं (टेक में अपनी पहली नौकरी के लिए प्रतीक्षा कर रहे हैं)

यदि आप इसे अकेले करने की कोशिश करते हैं तो एक नए करियर पर स्विच करना बेहद चुनौतीपूर्ण हो सकता है। जवाबदेही भागीदारों को ढूंढना महत्वपूर्ण है जो आपके समान सीखने के स्तर पर हैं, जो समान लक्ष्यों, दृढ़ता और ड्राइव को साझा करते हैं।

अपने लेखन कौशल में सुधार करने के 3 सिद्ध तरीके

ऐसा करने में आपकी मदद करने के लिए लेखन के लाभ, और रणनीतियाँ

अपने लेखन कौशल में सुधार करने के 3 सिद्ध तरीके

2022 में, GPT-3 के जारी होने के साथ, लेखन कौशल कम महत्वपूर्ण होता जा रहा है। एआई के साथ, खराब लेखन वाले लोग भी गुणवत्तापूर्ण कर्मचारी तैयार कर सकते हैं।