Javascript

Javascript Barrel 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 barrel sort algoritmasını anlatacağım. Hadi başlayalım !

Barrel Sort Algoritması

Barrel Sort, özellikle büyük boyutlu verilerin sıralanması gereken durumlarda kullanılan bir sıralama algoritmasıdır. Bu algoritma, verileri farklı boyutlarda silindirik variller olarak düşünür ve bu variller içinde sıralama işlemi yapar. Bu makalede, Barrel Sort algoritmasını açıklayacak ve bir örnek JavaScript kodu ile uygulamasını göstereceğim.

Barrel Sort algoritması, verileri farklı boyutlarda silindirik variller içinde sıralama işlemi yaparak çalışır. Öncelikle, sıralanacak verilerin en yüksek ve en düşük değerleri bulunur ve bu değerlere göre varillerin boyutu belirlenir. Bu işlem, verilerin dağılımına göre farklı boyutlarda varillerin kullanılmasına olanak sağlar.

Daha sonra, veriler sıralanacak varillere atanır ve her bir varil içinde yer alan veriler, o varilin boyutuna göre sıralanır. Ardından, variller birleştirilir ve işlem tekrarlanarak sıralama işlemi tamamlanır.

Javascript Kodu

Aşağıda, Barrel Sort algoritmasının bir örneği olan JavaScript kodu yer almaktadır. Bu kod, sıralanacak verileri rastgele sayılarla oluşturacak ve bu verileri Barrel Sort algoritması kullanarak sıralayacaktır.

// Verileri rastgele sayılarla oluştur
let data = [];
for (let i = 0; i < 1000; i++) {
  data.push(Math.floor(Math.random() * 1000));
}

// Barrel Sort algoritması kullanarak verileri sırala
function barrelSort(arr) {
  // En yüksek ve en düşük değerleri bul
  let max = Math.max(...arr);
  let min = Math.min(...arr);

  // Varilleri oluştur
  let barrelSize = 10;
  let barrelCount = Math.floor((max - min) / barrelSize) + 1;
  let barrels = [];
  for (let i = 0; i < barrelCount; i++) {
    barrels.push([]);
  }

  // Verileri varillere ekle
  for (let i = 0; i < arr.length; i++) {
    let idx = Math.floor((arr[i] - min) / barrelSize);
    barrels[idx].push(arr[i]);
  }

  // Her bir varil içinde yer alan verileri sırala
  for (let i = 0; i < barrelCount; i++) {
    barrels[i].sort((a, b) => a - b);
  }

  // Varilleri birleştir
  let sorted = [];
  for (let i = 0; i < barrelCount; i++) {
    sorted = sorted.concat(barrels[i]);
  }

  return sorted;
}

// Verileri sırala
let sortedData = barrelSort(data);

// Sıralanmış verileri konsola yazdır
console.log(sortedData);

Yukarıdaki kod, öncelikle 1000 adet rastgele sayıdan oluşan bir dizi oluşturur. Daha sonra, Barrel Sort algoritmasını kullanarak bu diziyi sıralar ve sıralanmış diziyi konsola yazdırır.

Çalışma Adımları

  • Verileri rastgele sayılarla oluştur: İlk olarak, 0 ile 999 arasında rastgele sayılarla dolu bir dizi oluşturulur.
  • Barrel Sort algoritması kullanarak verileri sırala: barrelSort() fonksiyonu, sıralanacak verileri parametre olarak alır ve Barrel Sort algoritmasını kullanarak bu verileri sıralar. İlk olarak, en yüksek ve en düşük değerler belirlenir ve varillerin boyutu bu değerlere göre hesaplanır. Daha sonra, veriler varillere atanır ve her bir varil içinde yer alan veriler, o varilin boyutuna göre sıralanır. Son olarak, variller birleştirilerek sıralanmış veriler elde edilir.
  • Sıralanmış verileri konsola yazdır: Son adımda, sıralanmış veriler konsola yazdırılır.

Barrel Sort algoritması, verilerin boyutlarına göre farklı variller içinde sıralama işlemi yaptığı için diğer sıralama algoritmalarına göre daha hızlı sonuç verir. Ancak, bazı durumlarda verilerin boyutlarına göre varillerin boyutu hesaplanması zor olabilir ve algoritmanın performansı düşebilir.

Bu nedenle, Barrel Sort algoritması en iyi şekilde büyük boyutlu verilerin sıralanması için kullanılmalıdır. Ayrıca, algoritmanın sıralama işlemi için gereken bellek miktarı da diğer sıralama algoritmalarına göre daha fazla olabilir.

Sonuç

Sonuç olarak, Barrel Sort algoritması, büyük boyutlu verilerin sıralanması için etkili bir yöntemdir. Ancak, diğer sıralama algoritmaları gibi, kullanılacak senaryoya ve veri boyutlarına göre dikkatli bir şekilde seçilmelidir.

Evet barrel 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.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu