Javascript Library 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 library sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Library Sort Algoritması
Library Sort algoritması, adından da anlaşılacağı gibi, bir kütüphanedeki kitapları düzenlemek için kullanılan bir algoritmadır. Bu algoritma, bir dizi nesne veya öğe üzerinde sıralama yapmak için kullanılabilir. Özellikle, küçük veri setleri için oldukça etkilidir çünkü en kötü durumda bile n^2 zaman karmaşıklığına sahiptir.
Library Sort algoritması, önce veri setindeki öğeleri küçük parçalara ayırır. Ardından, bu parçaları sırayla birleştirerek, sonunda sıralanmış bir dizi elde eder.
Library Sort Algoritması Nasıl Çalışır?
Library Sort algoritması, aşağıdaki adımları izler:
- Veri seti küçük parçalara ayrılır.
- Her parça, sıralanmış bir şekilde birleştirilir.
- İlk iki parça birleştirilir ve sonuç sıralanmış bir dizi elde edilir.
- Elde edilen dizi, diğer sıralanmış parçalarla birleştirilir ve sonuç yine sıralanmış bir dizi olur.
Bu adımlar, son sıralanmış diziyi elde etmek için tekrarlanır.
Javascript Library Sort Algoritması Kodu
Aşağıdaki JavaScript kodu, Library Sort algoritmasını uygulamak için bir örnek sunar:
function librarySort(arr) {
// Array içindeki eleman sayısını hesapla
const len = arr.length;
// Eğer array boş ya da tek elemanlıysa, doğrudan döndür
if (len <= 1) {
return arr;
}
// Array'ı küçük parçalara böl
const mid = Math.floor(len / 2);
const leftArr = arr.slice(0, mid);
const rightArr = arr.slice(mid);
// Küçük parçaları sırala
const sortedLeftArr = librarySort(leftArr);
const sortedRightArr = librarySort(rightArr);
// Küçük parçaları birleştirerek sonucu oluştur
return merge(sortedLeftArr, sortedRightArr);
}
function merge(leftArr, rightArr) {
let resultArr = [];
let leftIndex = 0;
let rightIndex = 0;
// Sol ve sağ dizileri birleştirerek sonucu elde et
while (leftIndex < leftArr.length && rightIndex < rightArr.length) {
if (leftArr[leftIndex] < rightArr[rightIndex]) {
resultArr.push(leftArr[leftIndex]);
leftIndex++;
} else {
resultArr.push(rightArr[rightIndex]);
rightIndex++;
}
}
// Sol diziyle sağ diziyi birleştir
return resultArr.concat(leftArr.slice(leftIndex)).concat(rightArr.slice(rightIndex));
}
// Kullanım Örneği
const arr = [5, 2, 9, 1, 5, 6, 3];
console.log(librarySort(arr)); // [1, 2, 3, 5, 5, 6, 9]
Yukarıdaki kod, bir dizi alır ve Library Sort algoritması kullanarak sıralanmış bir dizi döndürür. Algoritma, librarySort()
ve merge()
adlı iki fonksiyon tarafından uygulanır. librarySort()
fonksiyonu, öncelikle veri setini küçük parçalara ayırır ve ardından her parçayı sıralanmış bir şekilde birleştirir. Bu işlemi, sıralanmış tüm parçalar birleşene kadar tekrarlar. merge()
fonksiyonu ise, sıralanmış iki parçayı birleştirerek sonucu oluşturur.
Sonuç
Library Sort algoritması, küçük veri setleri için oldukça etkili bir sıralama algoritmasıdır. Algoritma, veri setini küçük parçalara ayırarak ve ardından sıralanmış parçaları birleştirerek çalışır. Yukarıdaki örnek kodda gösterildiği gibi, JavaScript kullanarak Library Sort algoritması oldukça kolay bir şekilde uygulanabilir.
Evet Library Sort Algoritması ve Javascript kodu bu şekilde. Tüm Javascript yazılarımıza buraya, diğer sıralama algoritmaları ile ilgili yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.