Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

डेटा संरचना में एल्गोरिदम मर्ज करें

<घंटा/>

मर्ज एल्गोरिथ्म का उपयोग दो क्रमबद्ध सूची को एक सूची में मर्ज करने के लिए किया जाता है। इस एल्गोरिथ्म का उपयोग विभिन्न मामलों में किया जाता है। यदि हम मर्ज सॉर्ट करना चाहते हैं, तो हमें सॉर्टर सूचियों को बड़ी सूचियों में मर्ज करना होगा।

दृष्टिकोण सरल है। हम दो सूचियां लेते हैं, दो पॉइंटर्स होंगे। पहला एक मुट्ठी सूची के तत्व को इंगित करेगा, दूसरा दूसरी सूची के तत्वों को इंगित करेगा। उनके मूल्यों के आधार पर, इन दो सूचियों में से एक से छोटा तत्व लिया जाता है, फिर उस संबंधित सूची के सूचक को बढ़ाएँ। यह ऑपरेशन तब तक किया जाएगा जब तक कि एक सूची समाप्त न हो जाए। उसके बाद अंतिम मर्ज की गई सूची के अंत में शेष सूची जोड़ें।

आइए बेहतर विचार प्राप्त करने के लिए दृष्टांत देखें।

डेटा संरचना में एल्गोरिदम मर्ज करें

एल्गोरिदम

मर्ज करें (सरणी, बाएँ, मध्य, दाएँ) −

Begin
   nLeft := m - left+1
   nRight := right – m
   define arrays leftArr and rightArr of size nLeft and nRight respectively
   for i := 0 to nLeft do
      leftArr[i] := array[left +1]
   done
   for j := 0 to nRight do
      rightArr[j] := array[middle + j +1]
   done
   i := 0, j := 0, k := left
   while i < nLeft AND j < nRight do
      if leftArr[i] <= rightArr[j] then
         array[k] = leftArr[i]
         i := i+1
      else
         array[k] = rightArr[j]
         j := j+1
         k := k+1
      done
   while i < nLeft do
      array[k] := leftArr[i]
      i := i+1
      k := k+1
   done
   while j < nRight do
      array[k] := rightArr[j]
      j := j+1
      k := k+1
   done
End

  1. डेटा संरचना में खंड पेड़

    इस खंड में हम देखेंगे कि खंड वृक्ष क्या है। उस पर चर्चा करने से पहले, आइए एक समस्या देखें। मान लीजिए कि हमारे पास एक सरणी है [0,…,n-1], हम निम्नलिखित ऑपरेशन कर सकते हैं - सूचकांक l से r तक के तत्वों का योग ज्ञात कीजिए, जहाँ 0 ≤ l ≤ r ≤ n-1 सरणी के निर्दिष्ट तत्व के मान को नए मान x में बदलें।

  1. हाफेज डेटा संरचना

    परिचय टेम्पलेट पैरामीटर या हाफएज डेटा संरचना (हाफएजडीएस के रूप में संक्षिप्त) के लिए एक एचडीएस को किनारे-केंद्रित डेटा संरचना के रूप में परिभाषित किया गया है, जो शिखर, किनारों और चेहरों की घटनाओं की जानकारी को बनाए रखने में सक्षम है, जैसे कि प्लानर मैप्स, पॉलीहेड्रा, या अन्य उन्मुख, द्वि-आयामी यादृ

  1. डेटा संरचना में अनुकूली विलय और छँटाई

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