Javascript Sleep 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 sleep sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Sleep Sort, bir sıralama algoritmasıdır ve özellikle eğlence amaçlı kullanılır. Bu algoritma, bir dizi sayıyı sıralamak için çalışır ve her bir sayıyı uyku modunda bekletir. Uyku süresi, sayının değerine eşittir ve sonuç olarak, daha küçük sayılar önce tamamlanacak ve sırayla ekrana yazdırılacaktır. Bu makalede, Sleep Sort algoritması hakkında daha fazla bilgi edineceksiniz ve JavaScript kod örnekleri ile nasıl uygulanabileceğini öğreneceksiniz.
Algoritma Çalışma Mantığı
Sleep Sort algoritması, bir dizi sayıyı sıralamak için çalışır. İlk adımda, her bir sayı için bir iş parçacığı oluşturulur ve her bir iş parçacığı, o sayının uyku süresi kadar bekletilir. Uyku süresi bittikten sonra, o sayı ekrana yazdırılır. Bu işlem, tüm sayılar sıralanana kadar devam eder.
Bu algoritmanın karmaşıklığı O(n log n) değil, O(max(A)) ‘dir, burada A, sıralanacak sayıların dizisidir. Bunun nedeni, her bir iş parçacığının uyku süresi kadar bekletilmesi ve bu sürenin, dizideki en büyük sayıya eşit olmasıdır. Bu nedenle, algoritmanın en kötü durum karmaşıklığı, dizideki en büyük sayı kadar yüksek olacaktır.
Javascript Sleep Sort Algoritması Kodu
JavaScript’te, Sleep Sort algoritması kullanarak bir dizi sayıyı sıralamak oldukça kolaydır. İlk adımda, her bir sayı için bir iş parçacığı oluşturmalısınız. Bu iş parçacığı, sayının uyku süresi kadar bekleyecektir. Uyku süresi bittikten sonra, sayı ekrana yazdırılacaktır. Kod örneği aşağıdaki gibidir:
function sleepSort(arr) {
arr.forEach(function(num) {
setTimeout(function() {
console.log(num);
}, num);
});
}
const nums = [5, 3, 2, 8, 1, 4];
sleepSort(nums);
Bu örnekte, sleepSort() fonksiyonu, dizi olarak verilen sayıları sıralamak için kullanılır. Her bir sayı, forEach() yöntemi kullanılarak döngüye sokulur. Döngü, her bir sayı için bir iş parçacığı oluşturur ve o sayının uyku süresi kadar bekler. Uyku süresi bittikten sonra, sayı ekrana yazdırılır.
Örnek olarak, yukarıdaki kod bloğunda, dizi [5, 3, 2, 8, 1, 4] sıralanır ve sonuç olarak ekrana 1, 2, 3, 4, 5, 8 sayıları yazdırılır. Uyku süresi her sayının kendine özgü olduğundan, sonuç her zaman farklı olacaktır.
Bu algoritmayı gerçek dünya senaryolarında kullanmak pek mümkün değildir. Bu algoritma, özellikle eğlence amaçlı kullanılan basit bir sıralama yöntemidir. Ancak, bazı özel durumlarda, özellikle test senaryolarında veya örneklemelerde kullanılabilir.
Sonuç
Bu makalede, Sleep Sort algoritması hakkında bilgi edindiniz ve JavaScript kod örnekleri ile nasıl uygulanabileceğini öğrendiniz. Sleep Sort, basit bir sıralama yöntemi olmasına rağmen, eğlence amaçlı kullanılabilir ve farklı sonuçlar elde etmek için farklı senaryolarda kullanılabilir. Ancak, gerçek dünya senaryolarında kullanımı önerilmez, çünkü performansı diğer sıralama yöntemleri kadar iyi değildir.
Evet Javascript ile sleep sort algoritması bu şekilde yazılmakta. Tüm Javascript yazılarımıza buraya, diğer sıralama algoritması yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.