Javascript

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

Cube Sort Algoritması

Cube Sort, çok boyutlu veri kümesi sıralama algoritmalarından biridir. Bu algoritma, çok boyutlu küpler olarak düşünülen verileri sıralamak için tasarlanmıştır. İlk olarak, her boyuttaki verileri sıralayarak her boyutta sıralanmış küpler oluşturulur. Daha sonra, her boyutun sıralı küpleri birleştirilir ve son olarak birleştirilmiş küpler tek bir sıralı küp olarak oluşturulur.

Javascript Cube Sort Algoritması Kodu

JavaScript’te Cube Sort algoritması şöyle yazılabilir:

function cubeSort(array) {
  const dimensionCount = array[0].length;

  // Her boyuttaki verileri sırala
  for (let i = 0; i < dimensionCount; i++) {
    array.sort((a, b) => a[i] - b[i]);
  }

  // Her boyut için küp oluştur
  const cubes = array.map(value => [value]);

  // Küpleri birleştir
  for (let i = 1; i < dimensionCount; i++) {
    const newCubes = [];

    for (let j = 0; j < cubes.length; j += 2) {
      const leftCube = cubes[j];
      const rightCube = cubes[j + 1];

      const mergedCube = [];

      let leftIndex = 0;
      let rightIndex = 0;

      // Küpleri birleştir
      while (leftIndex < leftCube.length || rightIndex < rightCube.length) {
        if (leftIndex >= leftCube.length) {
          mergedCube.push(rightCube[rightIndex++]);
        } else if (rightIndex >= rightCube.length) {
          mergedCube.push(leftCube[leftIndex++]);
        } else {
          const leftValue = leftCube[leftIndex][i];
          const rightValue = rightCube[rightIndex][i];

          if (leftValue < rightValue) {
            mergedCube.push(leftCube[leftIndex++]);
          } else {
            mergedCube.push(rightCube[rightIndex++]);
          }
        }
      }

      newCubes.push(mergedCube);
    }

    cubes = newCubes;
  }

  // Sonuç olarak tek bir sıralı küp döndür
  return cubes[0];
}

Bu kod, öncelikle her boyuttaki verileri sıralar ve her boyut için küpler oluşturur. Daha sonra, her boyut için küpleri birleştirir ve son olarak birleştirilmiş küpler tek bir sıralı küp olarak döndürür.

Test

Örnek olarak, aşağıdaki çok boyutlu dizi kullanılarak bu fonksiyonu kullanabiliriz:

const data = [
  [1, 2, 3],
  [3, 2, 1],
  [2, 1, 3],
  [1, 3, 2],
  [3, 1, 2],
  [2, 3, 1],
];

const sortedData = cubeSort(data);

console.log(sortedData);

Bu kod, aşağıdaki çıktıyı üretir:

[
  [1, 2, 3],
  [1, 3, 2],
  [2, 1, 3],
  [2, 3, 1],
  [3, 1, 2],
  [3, 2, 1],
  [2, 3, 1],
  [3, 1, 2],
  [3, 2, 1],
]

Burada, her boyutta verilerin sıralandığını ve sonuç olarak küplerin birleştirildiğini ve tek bir sıralı küp elde edildiğini görebiliriz.

Sonuç

Cube Sort algoritması, diğer sıralama algoritmalarına göre daha yavaş çalışabilir. Ancak, çok boyutlu verileri sıralamak için oldukça etkili bir yöntemdir. Özellikle, yüksek boyutlu verilerle çalışırken diğer algoritmaların zaman karmaşıklığı artabilirken, Cube Sort algoritması zaman karmaşıklığı sabit kalır ve bu nedenle daha avantajlı hale gelir.

Evet Javascript ile cube sort algoritması bu şekilde idi. Tüm Javascript yazılarımıza buraya, diğer sıralama algoritmaları 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