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

डेटा संरचना में मर्ज एल्गोरिदम (Merge Algorithms)


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

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

बेहतर विचार पाने के लिए चित्र देखें।

डेटा संरचना में मर्ज एल्गोरिदम (Merge Algorithms)

एल्गोरिदम

Merge(array, left, middle, right) –

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. डेटा संरचना में सेगमेंट ट्री (Segment Trees) डेटा संरचना में सेगमेंट ट्री (Segment Trees)

    इस अनुभाग में हम देखेंगे कि सेगमेंट ट्री (Segment Tree) क्या है। उस पर चर्चा करने से पहले, आइए एक समस्या देखें। मान लीजिए हमारे पास एक सरणी arr[0,…,n-1] है। हम निम्न संक्रियाएँ कर सकते हैं: इंडेक्स l से r तक के तत्वों का योग ढूंढें, जहां 0 ≤ l ≤ r ≤ n-1 सरणी के एक निर्दिष्ट तत्व के मान को नए मान

  1. हाफएज डेटा स्ट्रक्चर (Halfedge Data Structure) हाफएज डेटा स्ट्रक्चर (Halfedge Data Structure)

    परिचय (Introduction) टेम्पलेट पैरामीटर्स के लिए HDS या हाफएज डेटा स्ट्रक्चर (Halfedge Data Structure - संक्षिप्त HalfedgeDS) को एक एज-केंद्रित डेटा स्ट्रक्चर (Edge-centered Data Structure) के रूप में परिभाषित किया जाता है जो वर्टेक्स, एज और फेसेस (Vertices, Edges and Faces) की घटना जानकारी (Incidenc

  1. डेटा स्ट्रक्चर में अनुकूली मर्जिंग और सॉर्टिंग (Adaptive Merging and Sorting) डेटा स्ट्रक्चर में अनुकूली मर्जिंग और सॉर्टिंग (Adaptive Merging and Sorting)

    अनुकूली मर्ज सॉर्ट (ADAPTIVE MERGE SORT) अनुकूली मर्ज सॉर्ट (Adaptive Merge Sort) वही मर्ज करता है जो मर्ज सॉर्ट करता है। हालांकि, प्रारंभिक सब-लिस्ट का आकार एलिमेंट्स की सूची में क्रम (Ordering) के अस्तित्व पर निर्भर करता है बजाय आकार 1 की सब-लिस्ट होने के। उदाहरण के लिए, चित्र में सूची पर विचार कर