Javascript Cumbsort11 Algoritması

Herkese merhaba, Javascript yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda sıralama algoritmalarından biri olan cumbsort11 algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Cumbsort11 Algoritması
Combsort11, sort() fonksiyonunun yerini almak üzere geliştirilmiş bir sıralama algoritmasıdır. Bu algoritma, daha önceki combsort sıralama algoritmasının bir geliştirilmesidir ve daha etkili bir performans sunar.
Combsort11 algoritmasını anlamak için öncelikle combsort algoritmasını bilmek gerekir. Combsort algoritması, bubble sort algoritmasından türetilmiş bir sıralama algoritmasıdır. Ancak, bubble sort algoritmasında olduğu gibi yan yana komşu elemanlar karşılaştırılmaz. Bunun yerine, bir adım boyutu olarak adlandırılan bir mesafe kullanılır ve bu mesafe boyunca elemanlar karşılaştırılır. Bu mesafe, her iterasyonda bir miktar azaltılır ve bu işlem, elemanlar sıralanana kadar devam eder.
Combsort11 algoritması, combsort algoritmasına benzer bir şekilde çalışır. Ancak, bazı farklılıklar vardır. Combsort11 algoritması, mesafe boyutunu hesaplarken bir faktör kullanır. Bu faktör, 1.3 olarak belirlenmiştir ve mesafe boyutu her iterasyonda bu faktörle çarpılarak azaltılır. Bu sayede, combsort algoritmasına göre daha hızlı bir şekilde elemanlar sıralanır.
Javascript Cumbsort11 Algoritması Kodu
Aşağıda, Combsort11 algoritmasını kullanarak bir dizi elemanı sıralayan örnek bir JavaScript kodu bulunmaktadır:
function combSort11(arr) {
let gap = arr.length;
let shrink = 1.3;
let sorted = false;
while(!sorted) {
gap = Math.floor(gap / shrink);
if (gap > 1) {
sorted = false;
} else {
gap = 1;
sorted = true;
}
let i = 0;
while(i + gap < arr.length) {
if (arr[i] > arr[i + gap]) {
let temp = arr[i];
arr[i] = arr[i + gap];
arr[i + gap] = temp;
sorted = false;
}
i++;
}
}
return arr;
}
const arr = [5, 3, 8, 4, 2];
console.log(combSort11(arr)); // [2, 3, 4, 5, 8]
Kod Açıklamaları
Bu örnekte, combSort11() fonksiyonu, bir dizi elemanını Combsort11 algoritmasını kullanarak sıralar. Fonksiyon, önce dizi boyutunu alır ve daha sonra mesafe boyutunu hesaplamak için kullanılan faktörü belirler. Daha sonra, elemanların sıralanıp sıralanmadığını kontrol etmek için bir döngü oluşturur.
Bu döngü, elemanların sıralanıp sıralanmadığını kontrol etmek için kullanılır. Her iterasyonda, mesafe boyutu faktörle çarpılarak altındaki elemanlar karşılaştırılır ve gerektiği durumlarda yerleri değiştirilir. Döngü, elemanlar sıralanana kadar devam eder.
Bu örnekte kullanılan Combsort11 algoritması, özellikle büyük boyutlu diziler için çok daha hızlı bir sıralama işlemi sağlar. Bunun nedeni, mesafe boyutunun faktörle çarpılarak azaltılması sayesinde daha az iterasyon yapılmasıdır.
Bu nedenle, Combsort11 algoritması, sort() fonksiyonuna kıyasla daha hızlı ve daha verimli bir sıralama işlemi sağlar. Ancak, algoritmanın en kötü durumda O(n2) karmaşıklığına sahip olması, bazı durumlarda performans sorunlarına neden olabilir.
Sonuç
Özetle, Combsort11 algoritması, combsort algoritmasına göre daha hızlı ve verimli bir sıralama algoritmasıdır. Özellikle büyük boyutlu dizilerde kullanıldığında, sort() fonksiyonuna kıyasla daha iyi bir performans sunar. Ancak, en kötü durumda O(n2) karmaşıklığına sahip olması, bazı durumlarda performans sorunlarına neden olabilir.
Evet Javascript ile cumbsort11 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.