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