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

पिजनहोल सॉर्ट


यह गैर-तुलना छँटाई तकनीक का एक उदाहरण है। इसका उपयोग वहां किया जाता है जहां मदों की संख्या और संभावित कुंजी मानों की सीमा लगभग समान होती है।

ऐसा करने के लिए, हमें कुछ छेद बनाने की जरूरत है। आवश्यक छिद्रों की संख्या संख्याओं की सीमा से तय होती है। प्रत्येक छेद में, आइटम डाले जाते हैं। अंत में छेद से हटा दिया गया और क्रमबद्ध क्रम के लिए एक सरणी में संग्रहीत किया गया।

कबूतर-छेद सॉर्ट तकनीक की जटिलता

  • समय जटिलता:O(n+2^k)
  • अंतरिक्ष जटिलता:O(2^k)

इनपुट और आउटपुट

इनपुट:क्रमबद्ध सूची:802 630 20 745 52 300 612 932 78 187आउटपुट:सॉर्ट करने से पहले डेटा:802 630 20 745 52 300 612 932 78 187डेटा सॉर्ट करने के बाद:20 52 78 187 300 612 630 745 802 932

एल्गोरिदम

पिजनहोलसॉर्ट(सरणी, आकार)

इनपुट - डेटा की एक सरणी, और सरणी में कुल संख्या

आउटपुट - क्रमबद्ध सरणी

सरणी सूची से अधिकतम और न्यूनतम खोजना शुरू करें होलरेंज:=अधिकतम - न्यूनतम +1, i के लिए सूचियों की होलरेंज संख्या परिभाषित करें:=0 से n-1 डू होल [सरणी [i] -मिनट]। संलग्न करें (सरणी [i ]) किया गया काउंट:=0 j के लिए:=0 से होलरेंज-1 डू जबकि होल [जे] खाली नहीं है ऐरे [गिनती]:=छेद का पहला नोड प्राप्त करें [जे] और इसे हटा दें गिनें:=गिनें +1 किया किया समाप्त

उदाहरण

#शामिल करें // शुरू में अधिकतम और न्यूनतम गिरफ्तारी [0] के लिए (int i =1; i अधिकतम) अधिकतम =गिरफ्तारी [i]; // अधिकतम डेटा प्राप्त करें यदि (गिरफ्तारी [i] <न्यूनतम) न्यूनतम =गिरफ्तारी [i]; // न्यूनतम डेटा प्राप्त करें}} शून्य pegionHoleSort (int *arr, int n) {int max, min; getMaxMin (गिरफ्तारी, एन, अधिकतम, मिनट); इंट होलरेंज =अधिकतम - न्यूनतम +1; सूची  छेद [छेद रेंज]; // (int i =0; i> एन; इंट गिरफ्तारी [एन]; // दिए गए तत्वों की संख्या के साथ एक सरणी बनाएं cout <<"तत्व दर्ज करें:" <> arr[i]; } cout <<"डेटा सॉर्ट करने से पहले:"; प्रदर्शन (गिरफ्तारी, एन); pegionHoleSort (गिरफ्तारी, एन); cout <<"डेटा छँटाई के बाद:"; प्रदर्शन (गिरफ्तारी, एन);}

आउटपुट

तत्वों की संख्या दर्ज करें:10तत्व दर्ज करें:802 630 20 745 52 300 612 932 78 187डेटा सॉर्ट करने से पहले:802 630 20 745 52 300 612 932 78 187डेटा सॉर्ट करने के बाद:20 52 78 187 300 612 630 745 802 932 
  1. बुलबुले की तरह

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

  1. सी # में ढेर क्रमबद्ध करें

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

  1. सी # में KeyValuePairs सॉर्ट करें

    KeyValuePairs संग्रह को सॉर्ट करने के लिए सॉर्ट विधि का उपयोग करें। सबसे पहले, संग्रह सेट करें - var myList = new List<KeyValuePair<int, int>>(); // adding elements myList.Add(new KeyValuePair<int, int>(1, 20)); myList.Add(new KeyValuePair<int, int>(2, 15)); myList.Add(new