Çok küçük veri kümeleri için özel optimize edilmiş sıralama ağları (Sort3) ve basit dizin tabanlı sıralama (Linear Sort) yöntemleridir.
Basit Sıralamalar, genel amaçlı sıralama algoritmalarının oluşturduğu karmaşık döngü ve koşul yapılarından kaçınmak amacıyla çok küçük veri grupları için tasarlanmış basit şemalardır.
Üç Eleman Sıralama (Sort3 veya Sorting Three Elements), 3 elemanlı bir girdiyi tam olarak en fazla 3 karşılaştırma ve minimum yer değiştirme ile sıralayan döngüsüz, sabit adımlı bir yapıdır. Bu tür algoritmalar quicksort gibi büyük algoritmaların taban durumlarını (base cases) optimize etmek için kullanılır.
Doğrusal Sıralama (Linear Sort), anahtarları belirli ve dar bir aralıkta olan veya basit bir dizin eşlemesiyle ek yer kaplamadan yer değiştiren basit sıralama ağlarını tanımlar.
Aşağıdaki uygulamalar PDF kaynaklarındaki pseudo kod akışını modern veri yapılarıyla ifade eder. Kenar durumları görünür bırakıldığı için örnekler doğrudan test edilebilir.
1function sort3(arr: [number, number, number]): [number, number, number] {2 if (arr[0] > arr[1]) [arr[0], arr[1]] = [arr[1], arr[0]];3 if (arr[1] > arr[2]) [arr[1], arr[2]] = [arr[2], arr[1]];4 if (arr[0] > arr[1]) [arr[0], arr[1]] = [arr[1], arr[0]];5 return arr;6}78function linearSort(arr: number[]): number[] {9 for (let i = 0; i < arr.length - 1; i++) {10 for (let j = i + 1; j < arr.length; j++) {11 if (arr[i] > arr[j]) {12 [arr[i], arr[j]] = [arr[j], arr[i]];13 }14 }15 }16 return arr;17}Sıralamak istediğiniz sayıları virgülle ayırarak girin. 3 eleman girilirse Sort3, daha fazla girilirse Linear Sort çalışır. Örnek: 9, 2, 5
Sıralamak istediğiniz sayıları virgülle ayırarak girin. 3 eleman girilirse Sort3, daha fazla girilirse Linear Sort çalışır. Örnek: 9, 2, 5
En İyi Durum: O(1) / O(n^2)
Ortalama Durum: O(1) / O(n^2)
En Kötü Durum: O(1) / O(n^2)
O(1) - Giriş boyutu ne olursa olsun, algoritma her zaman aynı sürede çalışır.
Basit / Yardımcı Sıralamalar (Simple / Helper Sorts) Algoritması ile benzer veya alternatif olarak değerlendirilebilecek diğer başlıklar: