Yükleniyor // RUNTIME_INITIALIZINGAlgoritma ve bileşen ağacı hazırlanıyor...
Radix Sort (Taban Sıralaması), sayıları veya dizgileri tek tek basamaklarına (veya karakterlerine) göre sıralayan, karşılaştırma yapmayan bir sıralama algoritmasıdır. ## Çalışma Prensibi: 1. **LSD (En Önemsiz Basamaktan Başlama)**: Genellikle en sağdaki basamaktan (birler) başlar. 2. **Kararlı Alt Sıralama**: Her basamak için kararlı bir sıralama algoritması (genellikle Counting Sort) çalıştırılır. 3. **Tekrar**: En yüksek basamağa kadar tüm basamaklar için işlem tekrarlanır.
1function radixSort(arr) {2 const result = [...arr];3 if (result.length === 0) return result;4 5 const max = Math.max(...result);6 7 for (let exp = 1; Math.floor(max / exp) > 0; exp *= 10) {8 countingSortByDigit(result, exp);9 }10 11 return result;12}1314function countingSortByDigit(arr, exp) {15 const n = arr.length;16 const output = new Array(n).fill(0);17 const count = new Array(10).fill(0);18 19 for (let i = 0; i < n; i++) {20 const digit = Math.floor(arr[i] / exp) % 10;21 count[digit]++;22 }23 24 for (let i = 1; i < 10; i++) {25 count[i] += count[i - 1];26 }27 28 for (let i = n - 1; i >= 0; i--) {29 const digit = Math.floor(arr[i] / exp) % 10;30 output[count[digit] - 1] = arr[i];31 count[digit]--;32 }33 34 for (let i = 0; i < n; i++) {35 arr[i] = output[i];36 }37}Verdiğiniz pozitif tamsayı dizisi Radix Sort ile sıralanacaktır.
Radix Sort, sınırlı basamak sayısına sahip sayılar için mükemmel bir seçimdir ve geniş değer aralıklarında etkilidir.