Radix เรียง
Radix sort คืออัลกอริธึมการจัดเรียงที่จัดเรียงข้อมูลด้วยคีย์จำนวนเต็มโดยจัดกลุ่มคีย์ตามตัวเลขแต่ละตัวซึ่งมีตำแหน่งและค่าที่มีนัยสำคัญเหมือนกัน
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้อาร์เรย์ของตัวอักษรเป็นอาร์กิวเมนต์เดียว ฟังก์ชันควรจัดเรียงอาร์เรย์ในลำดับที่เพิ่มขึ้นหรือลดลงโดยใช้อัลกอริธึมการจัดเรียง Radix
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
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 ]