Javascript LSD Radix 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 LSD Radix Sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
LSD Radix Sort Algoritması
LSD radix sort algoritması, bir dizi sayıyı sıralamak için kullanılır. Bu algoritma, sayıları en düşük basamaktan en yüksek basamağa doğru sıralayarak çalışır. Bu nedenle, “en az önemli basamak” (least significant digit – LSD) radix sort olarak adlandırılır.
LSD radix sort algoritması, önceki sıralama algoritmalarının aksine karşılaştırma yapmaz. Bu nedenle, performansı yüksektir ve büyük sayılarla çalışırken özellikle yararlıdır.
Çalışma Adımları
LSD radix sort algoritması, aşağıdaki adımları içerir:
- En düşük basamağa (birler basamağı) göre tüm sayıları sırala.
- En düşük basamağa göre sıralanmış tüm sayıları, bir üst basamağa (onlar basamağı) göre sırala.
- Bu işlemi, en yüksek basamağa (en yüksek sayı) kadar tekrarla.
Bu işlem, tüm sayılar en yüksek basamaktan en düşük basamağa kadar sıralandığında tamamlanır.
LSD Radix Sort JavaScript Kod Örnekleri
Aşağıda, LSD radix sort algoritmasını uygulamak için JavaScript kod örnekleri verilmiştir.
Örnek 1: LSD Radix Sort Fonksiyonu
Bu örnek, bir dizi sayıyı LSD radix sort algoritması kullanarak sıralayan bir JavaScript fonksiyonu göstermektedir.
function lsdRadixSort(arr) {
const radix = 10; // 10'luk sayma sistemi kullanıyoruz
let maxLength = false;
let placement = 1;
while (!maxLength) {
maxLength = true;
let buckets = Array.from({length: radix}, () => []);
for (let i = 0; i < arr.length; i++) {
let num = arr[i] / placement;
let bucketIndex = Math.floor(num % radix);
buckets[bucketIndex].push(arr[i]);
if (maxLength && bucketIndex > 0) {
maxLength = false;
}
}
let j = 0;
for (let i = 0; i < radix; i++) {
let bucket = buckets[i];
for (let k = 0; k < bucket.length; k++) {
arr[j++] = bucket[k];
}
}
placement*= radix;
}
return arr;
}
Bu fonksiyon, `arr` adlı bir dizi sayı alır ve `lsdRadixSort` adlı bir LSD radix sort algoritması uygular. Bu algoritma, dizi elemanlarını en düşük basamaktan en yüksek basamağa kadar sıralar ve sıralanmış diziyi döndürür.
Örnek 2: LSD Radix Sort Kullanımı
Bu örnek, `lsdRadixSort` fonksiyonunu kullanarak bir dizi sayıyı sıralar.
const arr = [5, 3, 8, 4, 1, 10];
console.log(lsdRadixSort(arr)); // [1, 3, 4, 5, 8, 10]
Bu kod örneği, lsdRadixSort fonksiyonunu kullanarak arr adlı bir dizi sayıyı sıralar. Çıktı olarak, sıralanmış dizi olan [1, 3, 4, 5, 8, 10] döndürür.
Örnek 3: Büyük Sayılar İle LSD Radix Sort
Bu örnek, büyük sayılarla çalışan LSD radix sort algoritmasını göstermektedir.
const arr = [123456789, 987654321, 345678912];
console.log(lsdRadixSort(arr)); // [123456789, 345678912, 987654321]
Bu kod örneği, büyük sayılar içeren arr adlı bir dizi oluşturur ve lsdRadixSort fonksiyonunu kullanarak sıralar. Çıktı olarak, sıralanmış dizi olan [123456789, 345678912, 987654321] döndürür.
Sonuç
LSD radix sort algoritması, bir dizi sayıyı sıralamak için etkili bir yöntemdir. Bu algoritma, sayıları en düşük basamağa göre sıralayarak çalışır ve önceki sıralama algoritmalarına göre daha hızlıdır. JavaScript kod örnekleri ile LSD radix sort algoritmasını anlamak ve kullanmak kolaydır ve büyük sayılarla çalışırken özellikle yararlıdır.
Evet Javascript ile LSD Radix Sort algoritması bu şekilde olmakta. 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.