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

डेटा स्ट्रक्चर में सॉर्टिंग मेथड्स की तुलना


यहां हम कुछ सॉर्टिंग मेथड्स देखेंगे। 200+ सॉर्टिंग तकनीकें हैं। हम उनमें से कुछ देखेंगे। कुछ सॉर्टिंग तकनीकें तुलना-आधारित सॉर्ट हैं, कुछ नॉन-कम्पेरिजन आधारित सॉर्टिंग तकनीक हैं।

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

विश्लेषण प्रकारबबल सॉर्टसिलेक्शन सॉर्टइन्सर्शन सॉर्टमर्ज सॉर्टक्विक सॉर्टहीप सॉर्ट
बेस्ट केसO(n²)O(n²)O(n)O(log n)O(log n)O(log n)
औसत केसO(n²)O(n²)O(n²)O(log n)O(log n)O(log n)
वर्स्ट केसO(n²)O(n²)O(n²)O(log n)O(n²)O(log n)

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

विश्लेषण प्रकाररेडिक्स सॉर्ट (k अधिकतम अंक है)काउंटिंग सॉर्ट (k काउंट सरणी का आकार है)बकेट सॉर्ट (k बकेट की संख्या है)
बेस्ट केसO(nk)O(n + k)O(n + k)
औसत केसO(nk)O(n + k)O(n + k)
वर्स्ट केसO(nk)O(n + k)O(n²)

सॉर्टिंग तकनीकों की तुलना कुछ अन्य पैरामीटर्स का उपयोग करके भी की जा सकती है। कुछ सॉर्टिंग एल्गोरिदम इन-प्लेस सॉर्टिंग एल्गोरिदम हैं, और कुछ आउट-ऑफ-प्लेस सॉर्टिंग एल्गोरिदम हैं। जिन एल्गोरिदम को किसी अतिरिक्त स्थान की आवश्यकता नहीं होती, उन्हें इन-प्लेस सॉर्टिंग एल्गोरिदम कहा जाता है। जैसे क्विकसॉर्ट, हीपसॉर्ट एल्गोरिदम इन-प्लेस हैं। लेकिन मर्ज सॉर्ट आउट-ऑफ-प्लेस सॉर्टिंग तकनीक है।

कुछ एल्गोरिदम ऑनलाइन हैं और कुछ ऑफलाइन। यदि एल्गोरिदम सॉर्टिंग प्रक्रिया चलने के दौरान नए एलिमेंट को स्वीकार करता है, तो उसे ऑनलाइन सॉर्टिंग एल्गोरिदम कहा जाता है। ऊपर उल्लिखित तकनीकों में से, इन्सर्शन सॉर्ट ऑनलाइन सॉर्टिंग तकनीक है।

  1. कॉरेस्पॉन्डेंस आधारित डेटा स्ट्रक्चर्स (Correspondence Based Data Structures) कॉरेस्पॉन्डेंस आधारित डेटा स्ट्रक्चर्स (Correspondence Based Data Structures)

    टोटल और लीफ कॉरेस्पॉन्डेंस (Total and Leaf Correspondence) अधिक परिष्कृत कॉरेस्पॉन्डेंस तकनीकें हैं। इन दोनों तकनीकों में, आधे एलिमेंट्स मिन PQ में स्थित होते हैं और अन्य आधे मैक्स PQ में। जब एलिमेंट्स की संख्या विषम होती है, तो एक एलिमेंट बफर (Buffer) में स्टोर होता है। यह बफर एलिमेंट किसी भी PQ का

  1. डेटा स्ट्रक्चर में न्यूनतम स्पैनिंग ट्री डेटा स्ट्रक्चर में न्यूनतम स्पैनिंग ट्री

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

  1. डेटा स्ट्रक्चर में बाइनरी ट्री प्रतिनिधित्व डेटा स्ट्रक्चर में बाइनरी ट्री प्रतिनिधित्व

    यहां हम देखेंगे कि कंप्यूटर की मेमोरी में बाइनरी ट्री को कैसे दर्शाया जाए। प्रतिनिधित्व के लिए दो अलग-अलग तरीके हैं। ये सरणी और लिंक्ड लिस्ट का उपयोग करके हैं।मान लीजिए हमारे पास ऐसा एक ट्री है:सरणी प्रतिनिधित्व लेवल ऑर्डर फैशन का उपयोग करके एलिमेंट्स को स्कैन करके ट्री डेटा को स्टोर करता है। तो यह