Radix Sort
Flash Animate
ตัวอย่างโจทย์
64 8 216 512 27 729 0 1 343 125จุดหลักของการทำ Radix Sort คือ การเก็บข้อมูลทีละช่วงไว้ใน Bucket ก่อน แล้วจึงทำการเรียง
ขั้นที่ 1. เริ่มจากการเช็คเลขแต่ละหลัก
เลข หลักหน่วย หลักสิบ หลักร้อย64
4 6 0 8 8 0 0 216 6 1 2 512 2 1 5 27 7 2 0 729 9 2 7 0 0 0 0 1 1 0 0 343 3 4 3 125 5 2 1
ขั้นที่ 2. เก็บตัวเลขเข้า Bucket เริ่มเช็คจากหลักหน่วย เช่น
512 หลักหน่วยคือ 2 จึงเก็บไว้ใน Bucket 2
343 หลักหน่วยคือ 3 จึงเก็บไว้ใน Bucket 3 เป็นต้น
ขั้นที่ 3. หลักสิบ
ให้ไล่ทีละ Bucket จากที่เรียงไว้เมื่อตอนหลักหน่วย จะเห็นว่า เลข 0,1,8 มีหลักสิบ เป็น 0 จึงเอาไปไว้ที่ Bucket 0 เลข 512, 216 มีหลักสิบเป็น 1 จึงเอาไปไว้ที่ Bucket 1 เลข 343 มีหลักสิบเป็นสิบเป็น 4 จึงเอาไว้ที่ Bucket 4 เลข 64 มีหลักสิบเป็น 6 จึงเอาไว้ีที่ Bucket 6 |
ขั้นที่ 4. หลักร้อย
ให้ไล่ทีละ Bucket จากที่เรียงไว้เมื่อตอนหลักสิบ จะเห็นว่า
เลข 0,1,8,27,64 มีหลักร้อย เป็น 0 จึงเอาไปไว้ที่ Bucket 0
เลข 125 มีหลักร้อย เป็น 1 จึงเอาไปไว้ที่ Bucket 1
เลข 216 มีหลักร้อย เป็น 2 จึงเอาไปไว้ที่ Bucket 2
เลข 343 มีหลักร้อย เป็น 3 จึงเอาไปไว้ที่ Bucket 3
เลข 512 มีหลักร้อย เป็น 5 จึงเอาไปไว้ที่ Bucket 5
เลข 729 มีหลักร้อย เป็น 7 จึงเอาไปไว้ที่ Bucket 7
ขั้นที่ 5. สรุป
นำตัวเลขทั้งหมดมาเรียง ไล่ลำดับตาม Bucket ที่แล้ว จะได้เป็น
0 1 8 27 64 125 216 343 512 729
หากมีตัวเลขที่มีหลักมากกว่าร้อย ก็ให้ทำ Bucket ต่อไปจนถึงหลักนั้นๆค่ะ
Sign GuestBook |