Javascript

Javascript Double Selection 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 double selection sort algoritmasını anlatacağım. Hadi başlayalım !

Double Selection Sort Algoritması

Double selection sort, bir dizinin elemanlarını sıralamak için kullanılan bir sıralama algoritmasıdır. Bu algoritma, iki seçim işlemi yaparak çalışır. İlk seçim işlemi, en küçük elemanı bulmak için diziyi tarar. İkinci seçim işlemi ise, en büyük elemanı bulmak için kalan diziyi tarar. Bu işlemler, dizinin sıralı hale gelene kadar tekrarlanır.

Javascript Kodu

Aşağıda, double selection sort algoritması ile ilgili örnek bir JavaScript kodu verilmiştir:

function doubleSelectionSort(arr) {
  for (let i = 0; i < arr.length / 2; i++) {
    let minIndex = i;
    let maxIndex = i;
    for (let j = i + 1; j < arr.length - i; j++) {
      if (arr[j] < arr[minIndex]) {
        minIndex = j;
      }
      if (arr[j] > arr[maxIndex]) {
        maxIndex = j;
      }
    }
    [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]];
    if (maxIndex === i) {
      maxIndex = minIndex;
    }
    [arr[arr.length - i - 1], arr[maxIndex]] = [arr[maxIndex], arr[arr.length - i - 1]];
  }
  return arr;
}

const arr = [64, 25, 12, 22, 11];
console.log("Original array: " + arr); // [64, 25, 12, 22, 11]
const sortedArr = doubleSelectionSort(arr);
console.log("Sorted array: " + sortedArr); // [11, 12, 22, 25, 64]

Kod Açıklamaları

Yukarıdaki kodda, doubleSelectionSort fonksiyonu, double selection sort algoritmasını uygular. Fonksiyon, sıralanacak diziyi parametre olarak alır. Daha sonra, iki seçim işlemi yapmak için iki iç içe döngü kullanır. Dizinin yarısına kadar olan elemanları tarayan dış döngü, en küçük ve en büyük elemanları bulmak için iç döngüyü kullanır. İç döngü, dış döngünün sonraki elemanından itibaren, dizinin sonundan i kadar önceye kadar olan elemanları tarar. En küçük ve en büyük elemanlar, minIndex ve maxIndex değişkenleri ile takip edilir.

Daha sonra, minIndex değişkenindeki en küçük eleman, i indeksindeki elemanla yer değiştirilir. Eğer en büyük eleman i indeksindeyse, maxIndex değişkeninin değeri, minIndex değişkeninin değeri ile aynı olacaktır. Bu durumda, en büyük eleman, minIndex indeksindeki elemanla yer değiştirilmez. Ancak, en büyük eleman, dizinin sonundaki uygun indeksle yer değiştirilir.

Son olarak, sıralanmış diziyi döndürür.

[arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]; ve [arr[arr.length – i – 1], arr[maxIndex]] = [arr[maxIndex], arr[arr.length – i – 1]]; gibi kod satırları, destructuring assignment olarak adlandırılan bir özelliktir. Bu özellik, bir dizi veya nesnenin elemanlarını ayrı ayrı değişkenlere atamak için kullanılır. Burada, [arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]; kod satırı, arr[i] ve arr[minIndex] elemanlarını yer değiştirir.

Sonuç

Sonuç olarak, double selection sort algoritması, basit ve etkili bir sıralama algoritmasıdır. Ancak, büyük veri kümeleri için verimli bir algoritma değildir. Bu nedenle, daha hızlı ve daha verimli sıralama algoritmaları kullanılması önerilir.

Evet Javascript ile double selection 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