सामान्य शब्दों में, सॉर्टिंग एल्गोरिदम हैं, जैसे प्रविष्टि सॉर्ट, बबल सॉर्ट, और चयन सॉर्ट, जिन्हें आपको आमतौर पर केवल विशेष परिस्थितियों में उपयोग करना चाहिए; क्विकॉर्ट, जो सबसे खराब स्थिति लेकिन काफी बार अच्छे स्थिरांक और गुणों के साथ होता है और जिसे एक सामान्य-उद्देश्य सॉर्टिंग प्रक्रिया के रूप में इस्तेमाल किया जा सकता है; एल्गोरिदम, मर्ज-तरह और ढेर-तरह की तरह है, जो भी अच्छा सामान्य प्रयोजन छँटाई एल्गोरिदम कर रहे हैं; और , या रैखिक, पूर्णांक की सूचियों के लिए एल्गोरिदम को सॉर्ट करना, जैसे कि मूलांक, बाल्टी और गिनती प्रकार, जो आपकी सूचियों में पूर्णांकों की प्रकृति के आधार पर उपयुक्त हो सकते हैं।O ( n 2 ) O ( n लॉग एन ) O ( n लॉग एन ) O ( n )ओ ( एन)2)ओ ( एन)2)ओ ( एन लॉगn )ओ ( एन लॉगn )ओ ( एन )
यदि आपकी सूची के तत्व ऐसे हैं, जिनके बारे में आप जानते हैं कि उनके बीच कुल ऑर्डर संबंध है, तो इष्टतम सॉर्टिंग एल्गोरिदम में जटिलता । यह एक काफी अच्छा परिणाम है और जिसके लिए आपको आसानी से ऑनलाइन विवरण प्राप्त करने में सक्षम होना चाहिए। रेखीय सॉर्टिंग एल्गोरिदम तत्वों की संरचना के बारे में अधिक जानकारी का दोहन करते हैं, बजाय तत्वों के बीच कुल आदेश संबंध के।Log ( एन लॉगn )
और भी आम तौर पर, एक छँटाई एल्गोरिथ्म की इष्टतमता मान्यताओं पर निर्भर करती है कि आप किस प्रकार की सूचियों के बारे में बना सकते हैं, जो आप छँटाई करने जा रहे हैं (साथ ही मशीन का मॉडल जिस पर एल्गोरिथ्म चलेगा, जो अन्यथा छँटाई भी कर सकता है) एल्गोरिदम सबसे अच्छा विकल्प है; भंडारण के लिए एक टेप के साथ मशीनों पर बुलबुला सॉर्ट पर विचार करें)। आपकी मान्यताओं को जितना मजबूत किया जाएगा, आपके एल्गोरिथ्म में उतने ही कोने कटेंगे। किसी सूची के "क्रमबद्धता" को कितनी कुशलता से निर्धारित कर सकते हैं, इसके बारे में बहुत ही कमजोर धारणाओं के तहत, सबसे खराब स्थिति में जटिलता भी ।Ω ( एन ! )
यह जवाब केवल जटिलताओं से संबंधित है। एल्गोरिदम के कार्यान्वयन के वास्तविक चलने का समय बड़ी संख्या में उन कारकों पर निर्भर करेगा जो एक ही उत्तर में खाते में कठिन हैं।