Genel terimlerle, tipik olarak yalnızca özel durumlarda kullanmanız gereken ekleme sıralama, kabarcık sıralama ve seçim sıralama gibi sıralama algoritmaları vardır; İyi durum sabitleri ve özellikleri olan ve genel amaçlı bir sıralama prosedürü olarak kullanılabilen , en kötü durum olan ancak oldukça sık olan Quicksort ; aynı zamanda iyi bir genel amaçlı sıralama algoritması olan birleştirme-tür ve yığın tür gibi algoritmalar; ve listelerinizdeki tam sayıların yapısına bağlı olarak uygun olabilecek tam sayı listeleri için sayı tabanı, kepçe ve sayma türleri gibi veya doğrusal sıralama algoritmaları.0 ( n 2 ) 0 ( n log n ) O ( n log n ) O ( n )O(n2)O(n2)O(nlogn)O(nlogn)O(n)
Listenizdeki öğeler onlar hakkında bildiğiniz kadarıyla ise, aralarındaki toplam sıra ilişkisi ise, optimal sıralama algoritmaları karmaşıklığı olacaktır . Bu oldukça havalı bir sonuçtur ve bunun için çevrimiçi olarak kolayca bilgileri bulmanız gerekir. Doğrusal sıralama algoritmaları, yalnızca öğeler arasındaki toplam sıra ilişkisinden ziyade, sıralanacak öğelerin yapısı hakkında daha fazla bilgi kullanır.Ω(nlogn)
Daha genel olarak, bir sıralama algoritmasının iyeliği, sıralayacağınız listelerin türüyle ilgili yapabileceğiniz varsayımlara (algoritmanın çalışacağı makine modeline ek olarak zayıf bir sıralama bile yapabilir) en iyi seçimi algoritmalar; depolama için bandı olan makinelerde kabarcık sıralamasını düşünün). Varsayımlarınız ne kadar güçlüyse, algoritmanız o kadar fazla köşeyi kesebilir. Bir listenin "sıralanmasını" ne kadar etkili bir şekilde belirleyebileceğinize dair çok zayıf varsayımlar altında, en iyi en kötü durum karmaşıklığı bile Olabilir .Ω(n!)
Bu cevap sadece karmaşıklıklarla ilgilidir. Algoritmaların gerçek uygulama süreleri, tek bir cevapta hesaba katılması zor olan çok sayıda faktöre bağlı olacaktır.