Shell Sort, Insertion Sort'un geliştirilmiş bir versiyonudur. Donald Shell tarafından 1959'da geliştirilen bu algoritma, elemanları belirli aralıklarla (gap) karşılaştırarak sıralama işlemini optimize eder. Gap değeri her iterasyonda azaltılarak son aşamada normal insertion sort uygulanır.
Shell Sort Algoritması algoritmasının farklı programlama dillerindeki uygulamaları aşağıda verilmiştir. Her örnek, algoritmanın temel akışını açık şekilde gösterecek biçimde sunulmuştur.
1function shellSort(arr: number[]): number[] {2 const result = [...arr];3 const n = result.length;4 5 for (let gap = Math.floor(n / 2); gap > 0; gap = Math.floor(gap / 2)) {6 for (let i = gap; i < n; i++) {7 const temp = result[i];8 let j = i;9 while (j >= gap && result[j - gap] > temp) {10 result[j] = result[j - gap];11 j -= gap;12 }13 result[j] = temp;14 }15 }16 return result;17}Aşağıya kendi verilerinizi girerek algoritmanın örnek çalışma akışını görebilirsiniz. Virgülle ayrılmış sayılar veya metin değerleri kullanabilirsiniz.
Girilen veri, algoritmanın pseudo kodundaki genel akışa göre örnek bir sonuca dönüştürülür.
En İyi Durum: O(n log n)
Ortalama Durum: O(n log²n)
En Kötü Durum: O(n²)
O(1) - Giriş boyutu ne olursa olsun, algoritma her zaman aynı sürede çalışır.
Shell Sort Algoritması ile benzer veya alternatif olarak değerlendirilebilecek diğer başlıklar:
Bu kullanım alanı, algoritmanın benzer problem aileleriyle birlikte incelenmesi için iyi bir başlangıç noktasıdır.
Bu kullanım alanı, algoritmanın benzer problem aileleriyle birlikte incelenmesi için iyi bir başlangıç noktasıdır.
Bu kullanım alanı, algoritmanın benzer problem aileleriyle birlikte incelenmesi için iyi bir başlangıç noktasıdır.
Verdiğiniz dizi Shell Sort algoritması ile sıralanacaktır.