Javascript Recursive Insertion 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 Recursive Insertion Sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Recursive Insertion Sort Algoritması Nedir?
Insertion sort, elemanları bir listeye sıralama işlemidir. Bu algoritma, bir elemanın doğru konumunu bulduktan sonra, diğer elemanlarla karşılaştırılır ve sıralanmış bir alt-listeye eklenir.
Recursive Insertion Sort Algoritması
Recursive insertion sort, insertion sort algoritmasının bir varyasyonudur. Bu algoritma, bir dizi elemanı küçük parçalara ayırır ve her bir parçayı sıralar. Daha sonra, sıralı parçalar birleştirilir ve tam sıralı dizi oluşturulur.
İşlemi başlatmak için, ilk adım ilk elemanı sıralamaktır. Daha sonra, kalan elemanlar için recursive insertion sort algoritması çağrılır. Bu işlem, listenin tamamı sıralanana kadar devam eder.
JavaScript Kod Örnekleri
Şimdi, recursive insertion sort algoritmasının nasıl çalıştığını JavaScript kod örnekleri ile açıklayacağım.
Örnek 1: Recursive Insertion Sort Algoritması
function recursiveInsertionSort(arr, n) {
if (n <= 1) {
return;
}
recursiveInsertionSort(arr, n-1);
let last = arr[n-1];
let j = n-2;
while (j >= 0 && arr[j] > last) {
arr[j+1] = arr[j];
j--;
}
arr[j+1] = last;
}
let arr = [12, 11, 13, 5, 6];
recursiveInsertionSort(arr, arr.length);
console.log(arr); // [5, 6, 11, 12, 13]
Bu kod örneğinde, recursive insertion sort algoritmasını kullanarak bir dizi elemanı sıraladık. Bu örnek, algoritmanın nasıl çalıştığını adım adım açıklar.
Örnek 2: Recursive Insertion Sort Algoritması
function recursiveInsertionSort(arr) {
if (arr.length <= 1) {
return arr;
}
const [head, ...tail] = arr;
const sortedTail = recursiveInsertionSort(tail);
let i = sortedTail.length - 1;
while (i >= 0 && sortedTail[i] > head) {
sortedTail[i + 1] = sortedTail[i];
i--;
}
sortedTail[i + 1] = head;
return sortedTail;
}
let arr = [12, 11, 13, 5, 6];
console.log(recursiveInsertionSort(arr)); // [5, 6, 11, 12, 13]
Bu örnek, recursive insertion sort algoritmasını kullanarak bir dizi elemanı sıralar ve sıralanmış diziyi döndürür.
Sonuç
Bu makalede, recursive insertion sort algoritması hakkında bilgi verdik ve örnekleri JavaScript kodları ile paylaşıldı. Bu algoritmanın temel mantığı, bir listenin elemanlarını küçük parçalara ayırarak her bir parçayı sıralamaktır. Daha sonra, sıralı parçalar birleştirilir ve tam sıralı dizi elde edilir.
JavaScript dilinde recursive insertion sort algoritmasının iki farklı örneğini paylaştık. İlk örnekte, dizi elemanlarını sıralamak için algoritmayı adım adım açıkladık. İkinci örnekte ise, sıralanmış diziyi geri döndüren bir fonksiyon yazdık.
Evet Javascript ile Recursive Insertion 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.