खोज…


ऑड-इवन सॉर्ट बेसिक जानकारी

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

ऑड-ईवन के लिए छद्म कोड:

if n>2 then
    1. apply odd-even merge(n/2) recursively to the even subsequence a0, a2, ..., an-2 and to the odd subsequence a1, a3, , ..., an-1
    2. comparison [i : i+1] for all i element {1, 3, 5, 7, ..., n-3}
else
    comparison [0 : 1]

विकिपीडिया में विषम-सम प्रकार का सर्वोत्तम चित्रण है:

अजीब-भी एनीमेशन

ऑड-ईवन सॉर्ट का उदाहरण:

ऑड-इवन सॉर्ट का उदाहरण

कार्यान्वयन:

मैंने ऑड-इवन सॉर्ट एल्गोरिथम को लागू करने के लिए C # भाषा का उपयोग किया।

public class OddEvenSort
{
    private static void SortOddEven(int[] input, int n)
    {
        var sort = false;

        while (!sort)
        {
            sort = true;
            for (var i = 1; i < n - 1; i += 2)
            {
                if (input[i] <= input[i + 1]) continue;
                var temp = input[i];
                input[i] = input[i + 1];
                input[i + 1] = temp;
                sort = false;
            }
            for (var i = 0; i < n - 1; i += 2)
            {
                if (input[i] <= input[i + 1]) continue;
                var temp = input[i];
                input[i] = input[i + 1];
                input[i + 1] = temp;
                sort = false;
            }
        }
    }

    public static int[] Main(int[] input)
    {
        SortOddEven(input, input.Length);
        return input;
    }
}

सहायक स्थान: O(n)
समय जटिलता: O(n)



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow