Javascript Stooge Sort Algoritması

Herkese merhaba, Javascript yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda sıralama algoritmalarından biri olan stooge sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Javascript programlama dili, çeşitli sıralama algoritmalarını uygulamak için kullanılabilir. Bunlardan biri de “stooge sort” adı verilen bir sıralama algoritmasıdır. Stooge sort, özellikle küçük veri setleri için kullanışlıdır ve daha büyük veri setleri için verimsizdir.
Stooge Sort Algoritması Nedir ?
Stooge sort, 1930’larda Rus matematikçi Yakov Perelman tarafından geliştirilmiştir. Algoritma, böl ve fethet mantığına dayanır ve bir dizi elemanı küçükten büyüğe veya büyükten küçüğe doğru sıralamak için kullanılır. İlk olarak, dizinin ilk elemanıyla son elemanı karşılaştırılır. Eğer ilk eleman son elemandan daha büyükse, bu iki elemanın yerleri değiştirilir. Ardından, dizinin ilk iki üçte biri ile son iki üçte biri arasındaki elemanlar karşılaştırılır ve bu alt diziler arasındaki elemanlar sıralanır. Son olarak, dizinin orta üçte biri sıralanır.
Javascript Stooge Sort Algoritması Kodu
Javascript’te stooge sort algoritması şöyle yazılabilir:
function stoogeSort(arr, start, end) {
if (start >= end) {
return;
}
if (arr[start] > arr[end]) {
const temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
if (end - start + 1 > 2) {
const third = Math.floor((end - start + 1) / 3);
stoogeSort(arr, start, end - third);
stoogeSort(arr, start + third, end);
stoogeSort(arr, start, end - third);
}
return arr;
}
Bu fonksiyon, bir dizi, başlangıç ve bitiş noktaları alır. Başlangıç noktası, dizinin kaçıncı elemanından başlayacağını, bitiş noktası ise dizinin kaçıncı elemanına kadar sıralanacağını belirtir. İlk olarak, dizinin başlangıç ve bitiş noktaları kontrol edilir. Eğer başlangıç noktası, bitiş noktasından büyük veya eşitse, dizi zaten sıralıdır ve sıralama işlemi sonlandırılır. Eğer ilk eleman, son elemandan büyükse, bu iki elemanın yerleri değiştirilir. Sonrasında, dizinin üçte biri ve son üçte biri arasındaki elemanlar sıralanır. Bu işlem, dizinin üçte biri sıralanana kadar tekrarlanır.
Örnek olarak, bir dizi sıralanacaksa:
const arr = [4, 3, 5, 1, 2];
stoogeSort(arr, 0, arr.length - 1);
console.log(arr); // => [1, 2, 3, 4, 5]
Stooge Sort Algoritması İşlem Adımları
Bu örnekte, arr adlı dizi 0’ıncı elemandan başlayarak ve arr.length-1’inci elemana kadar sıralanır. İlk olarak, 0’ıncı ve son eleman karşılaştırılır. 4 ve 2 karşılaştırıldığında, 4 büyük olduğu için elemanların yerleri değiştirilir ve dizi şu şekilde olur: [2, 3, 5, 1, 4]. Ardından, dizinin ilk iki üçte biri ve son iki üçte biri arasındaki elemanlar karşılaştırılır ve sıralanır. Bu işlem, üçüncü eleman 5 ile son üçte biri sıralanana kadar tekrarlanır. Sonuç olarak, dizi şu şekilde sıralanır: [1, 2, 3, 4, 5].
Stooge Sort Algoritması Özellikleri
Stooge sort algoritması, özellikle çok büyük veri setleri için verimsizdir. Ancak, küçük veri setleri için oldukça etkili bir yöntemdir. Ayrıca, algoritmanın basitliği, Javascript gibi programlama dillerinde kolayca uygulanabilir olması açısından avantaj sağlar.
Evet Javascript ile stooge sort algoritması bu şekilde yazılmakta ve kullanılmakta. Tüm Javascript yazılarımıza buraya, sıralama algoritmaları ile ilgili yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.