রেডিক্স সর্ট
রেডিক্স সর্ট হলো একটি সর্টিং অ্যালগরিদম যা ইন্টিজার কী-वालা ডেটা সর্ট করে কীগুলোর ইনডিভিজুয়াল ডিজিট অনুযায়ী গ্রুপ করে যেগুলো একই সিগনিফিক্যান্ট পজিশন এবং ভ্যালু শেয়ার করে।
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একমাত্র আর্গুমেন্ট হিসেবে লিটারেলগুলোর একটি অ্যারে নেবে। ফাংশনটি অ্যারেটি ক্রমবর্ধমান বা ক্রমঅবর্ধমান ক্রমে রেডিক্স সর্ট অ্যালগরিদম ব্যবহার করে সর্ট করবে।
উদাহরণ
নিচে কোডটি দেওয়া হলো:
const arr = [45, 2, 56, 2, 5, 6, 34, 1, 56, 89, 33]; const radixSort = (arr = []) => { const base = 10; let divider = 1; let maxVal = Number.NEGATIVE_INFINITY; while (divider === 1 || divider <= maxVal) { const buckets = [...Array(10)].map(() => []); for (let val of arr) { buckets[Math.floor((val / divider) % base)].push(val); maxVal = val > maxVal ? val : maxVal; } arr = [].concat(...buckets); divider *= base; }; return arr; }; console.log(radixSort(arr));আউটপুট
কনসোলে নিচের আউটপুট পাওয়া যাবে:
[ 1, 2, 2, 5, 6, 33, 34, 45, 56, 56, 89 ]