Kullanılacak sıralama algoritması seçilirken uygulanacak veri yapısı detaylı olarak ele alınmalıdır. Örneğin, Quicksort çok hızlı bir algoritmadır ancak uygulanması nispeten karmaşıktır, bu nedenle küçük veri grupları için pratik olmayabilir. Kabarcık sıralama ise yavaş bir algoritmadır fakat uygulanması çok kolaydır.
Sıralama algoritmalarının çalışma hızları, sıralanacak verinin büyüklüğü, kısmen sıralı olması, tersten sıralı olması veya tümüyle karışık yapıda olmasına bağlı olarak farklılık göstermektedir. Seçim yapılırken verinin bu anlamda değerlendirilmesi ve uygun algoritmanın tercihi en iyi sonuç için faydalı olacaktır.
Sık kullanılan sıralama algoritmalarının, verinin karmaşıklığına göre gösterdiği performans :
· 2,4 GHz Intel Core i7 cpu ile yapılan örnek performans testi :
Genel olarak quicksort daha hızlı olmasına rağmen örnek veri tipinde insertion sort algoritmasının daha iyi bir performans sergilediği görülüyor.
Verinin karmaşıklığına göre algoritma performanslarını gözlemlemek için aşağıdaki uygulamaya göz atabilirsiniz :
Performans karşılaştırmasını yaptığımız başlıca yöntemler ile birlikte, çok sayıda farklı sıralama algoritması kullanılmaktadır. Bunların büyük bölümü aşağıda listelenmiştir.
· TimSort
· BogoSort or Permutation Sort
· Sleep Sort — The King of Laziness / Sorting while Sleeping
· Structure Sorting (By Multiple Rules) in C++
· Tag Sort (To get both sorted and original)
· QuickSort on Singly Linked List
· QuickSort on Doubly Linked List
· 3-Way QuickSort (Dutch National Flag)
· Merge Sort for Doubly Linked List
· Recursive Insertion Sort
Linkler takip edilerek algoritmalar hakkında detay bilgi alınabilir.
Karşılaştırma Tabloları :
Kararlılık kriteri, bir algoritmanın bitiş kontrolüne dayanmaktadır. Örneğin sıralı bir dizi verilse bile sıralama işlemi yapmaya çalışır mı?