Javascript Merge 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 merge sort algoritmasının Javascript ile kullanımını anlatacağım. Hadi başlayalım !
İçerik Detayları
Merge Sort Algoritması Nedir?
Merge sort algoritması, sıralanacak olan diziyi bölerek, her bir bölümü ayrı ayrı sıralayarak, sonra bu bölümleri birleştirerek sıralama işlemini gerçekleştirir.
Bu algoritma, divide-and-conquer (böl ve fethet) yöntemine dayanır. Bu yöntem, büyük bir problemin, daha küçük problemlere bölünerek, bu küçük problemlerin çözülmesi ile sonlandırılır. Merge sort algoritması da, bu yöntemi kullanarak, sıralama işlemini gerçekleştirir.
Merge Sort Algoritması Adımları
Merge sort algoritmasını uygulamak için şu adımları izleyebiliriz:
- Sıralanacak olan dizinin uzunluğunu belirleyin.
- Diziyi, bölme işlemi için ortanca elemanına kadar ikiye bölün.
- Dizi, iki parçaya bölünür ve her bir parça ayrı ayrı sıralanır.
- Sıralanmış parçalar, birleştirilerek, sıralanmış dizi olarak döndürülür.
Javascript Merge Sort Kodu
Aşağıda, JavaScript kullanarak merge sort algoritmasını uygulayan bir örnek kod verilmiştir:
function mergeSort(arr) {
if (arr.length <= 1) {
return arr;
}
const mid = Math.floor(arr.length / 2);
const left = arr.slice(0, mid);
const right = arr.slice(mid);
return merge(mergeSort(left), mergeSort(right));
}
function merge(left, right) {
let resultArray = [], leftIndex = 0, rightIndex = 0;
while (leftIndex < left.length && rightIndex < right.length) {
if (left[leftIndex] < right[rightIndex]) {
resultArray.push(left[leftIndex]);
leftIndex++;
} else {
resultArray.push(right[rightIndex]);
rightIndex++;
}
}
return resultArray.concat(left.slice(leftIndex)).concat(right.slice(rightIndex));
}
const myArray = [3, 0, 2, 5, -1, 4, 1];
console.log(mergeSort(myArray)); // [-1, 0, 1, 2, 3, 4, 5]
Yukarıdaki kod, myArray adlı bir diziyi merge sort algoritması kullanarak sıralar ve sonucu konsola yazdırır. Konsolda görüleceği gibi, dizi küçükten büyüğe doğru sıralanır.
Evet Javascript ile merge sort algoritmasının kullanımı bu şekilde olmakta. Tüm Javascript yazılarımıza buraya, sıralama algoritmalarıyla ilgili yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.