पहला, एक परिभाषा, क्योंकि यह बहुत महत्वपूर्ण है: एक स्थिर प्रकार वह है जो समान कुंजियों के साथ तत्वों को फिर से नहीं करने की गारंटी है।
अनुशंसाएँ:
त्वरित सॉर्ट: जब आपको स्थिर सॉर्ट और औसत केस प्रदर्शन की आवश्यकता नहीं होती है तो यह सबसे खराब केस प्रदर्शन से अधिक होता है। एक त्वरित प्रकार ओ (एन लॉग एन) औसतन, सबसे खराब स्थिति में ओ (एन ^ 2) है। एक अच्छा कार्यान्वयन हे (लॉग एन) सहायक भंडारण को पुनरावर्तन के लिए स्टैक स्पेस के रूप में उपयोग करता है।
मर्ज सॉर्ट करें: जब आपको एक स्थिर, ओ (एन लॉग एन) सॉर्ट की आवश्यकता होती है, तो यह आपके एकमात्र विकल्प के बारे में है। इसके लिए केवल डाउनसाइड यह है कि यह O (N) सहायक स्थान का उपयोग करता है और त्वरित सॉर्ट की तुलना में थोड़ा बड़ा है। कुछ इन-प्लेस मर्ज प्रकार हैं, लेकिन AFAIK वे सभी ओ (एन लॉग एन) की तुलना में स्थिर या बदतर नहीं हैं। यहां तक कि ओ (एन लॉग एन) भी जगह में पुराने मैरिज सॉर्ट की तुलना में इतना बड़ा है कि वे उपयोगी एल्गोरिदम की तुलना में अधिक सैद्धांतिक जिज्ञासाएं हैं।
ढेर सॉर्ट: जब आपको एक स्थिर प्रकार की आवश्यकता नहीं होती है और आप औसत केस प्रदर्शन की तुलना में सबसे खराब मामले के प्रदर्शन की परवाह करते हैं। यह O (N लॉग एन) होने की गारंटी है, और O (1) सहायक स्थान का उपयोग करता है, जिसका अर्थ है कि आप अप्रत्याशित रूप से बहुत बड़े इनपुट पर ढेर या स्टैक स्पेस से बाहर नहीं भागेंगे।
इंट्रोसोर्ट: यह एक त्वरित सॉर्ट है जो त्वरित सॉर्ट के O (N ^ 2) सबसे खराब स्थिति के आसपास प्राप्त करने के लिए एक निश्चित पुनरावृत्ति गहराई के बाद ढेर सॉर्ट पर स्विच करता है। गारंटीकृत ओ (एन लॉग एन) प्रदर्शन के साथ, यह एक सादे पुराने त्वरित प्रकार से लगभग हमेशा बेहतर होता है, क्योंकि आपको एक त्वरित प्रकार का औसत मामला मिलता है। संभवतः इसके बजाय ढेर के प्रकार का उपयोग करने का एकमात्र कारण गंभीर मेमोरी की कमी वाली प्रणालियों में है जहां ओ (लॉग एन) स्टैक स्थान व्यावहारिक रूप से महत्वपूर्ण है।
सम्मिलन प्रकार : जब N को छोटा होने की गारंटी दी जाती है, जिसमें एक त्वरित प्रकार या मर्ज प्रकार का आधार मामला शामिल होता है। जबकि यह O (N ^ 2) है, इसमें बहुत छोटा स्थिरांक है और यह एक स्थिर प्रकार है।
बबल सॉर्ट, सेलेक्शन सॉर्ट : जब आप कुछ जल्दी और गंदा कर रहे हों और किसी कारण से आप सिर्फ मानक लाइब्रेरी की छँटाई एल्गोरिथ्म का उपयोग न कर सकें। केवल प्रविष्टि के आधार पर होने वाले इन लाभों को लागू करने के लिए थोड़ा आसान किया जा रहा है।
गैर-तुलनात्मक प्रकार: कुछ काफी सीमित स्थितियों के तहत ओ (एन लॉग एन) बाधा को तोड़ना और ओ (एन) में सॉर्ट करना संभव है। यहाँ कुछ मामले हैं जहाँ यह एक कोशिश के लायक है:
काउंटिंग सॉर्ट: जब आप एक सीमित सीमा के साथ पूर्णांकों को सॉर्ट कर रहे हैं।
मूलांक सॉर्ट: जब लॉग (N) K की तुलना में काफी बड़ा होता है, जहां K मूलांक अंकों की संख्या होती है।
बकेट सॉर्ट: जब आप गारंटी दे सकते हैं कि आपका इनपुट लगभग समान रूप से वितरित है।