More Related Content
More from Meaw Sukee (20)
Sorting
- 2. แนวคิด
ชีวิตประจําวันเราไดมีการจัดเรียงขอมูลตางๆ มากมาย เชน การ
จัดเรียงตัวอักษรในพจนานุกรม การจัดเรียงลําดับรายชื่อนักเรียนที่มี
ุ
คะแนนสูงสุดไปต่ําสุด เปนตน หากมีขอมูลมากๆ แลวไมทําการ
เรยงขอมูลกจะทาใหเสยเวลาในการคนหาขอมูลเปนอยางมาก
เรียงขอมลก็จะทําใหเสียเวลาในการคนหาขอมลเปนอยางมาก
- 3. การเรียงลําดับขอมูล
1. การเรียงลําดับขอมูลภายใน (Internal Sorting) เปนการเรียงลําดับ
ขอมูลที่ขอมูลทั้งหลายเก็บอยูในหนวยความจําหลัก ซึ่งจํานวนขอมูลมักจะมี
ขนาดนอยกวาขนาดของพื้นที่หนวยความจํา
2. การเรียงลําดับขอมูลภายนอก (External Sorting) เปนการเรียงลําดับ
ขอมููลที่ขอมููลทั้งหลายถููกเก็บไวในหนวยความจําสํารอง
- 5. อัลกอริทึม
1. การเรียงขอมูลแบบฟอง (Bubble Sort)
2. การเรียงขอมูลแบบแทรก (Insertion Sort)
3. การเรียงขอมลแบบเลือก (Selection Sort)
การเรยงขอมูลแบบเลอก
4. การเรียงขอมูลแบบผสาน (Merge Sort)
5. การเรียงแบบเร็ว (Quick Sort)
- 6. 1. การเรียงขอมูลแบบฟอง (Bubble Sort)
เปนการเรียงแบบงายๆ เปนแบบหนึ่งในการเรียงลําดับที่เปน
ๆ
Exchange sort ใชหลักการเปรียบเทียบคา 2 คาที่ติดกัน ถาทั้ง
2 ไมอยในลําดับที่ตองการใหทําการแลกเปลียนคากันระหวาง 2
ไมอยู นลาดบทตองการใหทาการแลกเปลยนคากนระหวาง
่
ตําแหนง จากนั้นเปรียบเทียบคูถัดไป
- 7. ตัวอยาง
การเรียงลําดับขอมูลแบบ Bubble Sort ในอารเรยทีมีขอมูล 7 22 6 17 20 จาก
ํ ั ใ ่
มากไปหานอย
รอบทีี่ 1
7 22 6 17 20
22 7 6 17 20
22 7 17 6 20
22 7 17 20 6
- 8. ตัวอยาง
การเรียงลําดับขอมูลแบบ Bubble Sort ในอารเรยทีมีขอมูล 7 22 6 17 20 จาก
ํ ั ใ ่
มากไปหานอย
รอบทีี่ 2
22 7 17 20 6
22 17 7 20 6
22 17 20 7 6
- 10. 2. การเรียงลําดับแบบแทรก (Insertion Sort)
เปนเทคนิคที่ใชในชีวิตประจาวัน เปรียบเทียบกับการเลนไพ ทุกครั้งที่หยิบ
ํ
ไพจะหาตาแหนงทเหมาะสมเพอแทรกลงไป โดยพจารณาขอมูลตาแหนงท
ไพจะหาตําแหนงที่เหมาะสมเพื่อแทรกลงไป โดยพิจารณาขอมลตําแหนงที่
i (i= 2,3,4,…n) ถามีคานอยกวาขอมูลที่อยูกอนหนานี้ ใหนาขอมูลตําแหนง
ํ
ท ไปแทรกในตาแหนงทถูกตอง
ที่ i ไปแทรกในตําแหนงที่ถกตอง
- 11. ตัวอยาง
ใหเรียงลําดับขอมูลตัวเลข 27, 36, 58, 42, 96, 7, 12, 23, 101, 33 แบบ
Insertion Sort โดยเรียงจากนอยไปหามาก
27 36 58 42 96 7 12 23 101 33
เปรียบเทียบ 27 กับ 36 ไมมีการแทรก จะได
27 36 58 42 96 7 12 23 101 33
เปรียบเทียบ 36 กับ 58 ไมมีการแทรก จะได
27 36 58 42 96 7 12 23 101 33
เปรียบเทียบ 58 กับ 42 42 จะไปแทรกกอนหนา 58 จะได
- 12. ตัวอยาง
ใหเรียงลําดับขอมูลตัวเลข 27, 36, 58, 42, 96, 7, 12, 23, 101, 33 แบบ
Insertion Sort โดยเรียงจากนอยไปหามาก
27 36 42 58 96 7 12 23 101 33
เปรียบเทียบ 58 กับ 96 ไมมีการแทรก จะได
27 36 42 58 96 7 12 23 101 33
เปรียบเทียบ 96 กับ 7 7 จะไปแทรกกอนหนา 27 จะได
7 27 36 42 58 96 12 23 101 33
เปรียบเทียบ 96 กับ 12 12 จะไปแทรกกอนหนา 27 จะได
- 13. ตัวอยาง
ใหเรียงลําดับขอมูลตัวเลข 27, 36, 58, 42, 96, 7, 12, 23, 101, 33 แบบ
Insertion Sort โดยเรียงจากนอยไปหามาก
7 12 27 36 42 58 96 23 101 33
เปรียบเทียบ 96 กับ 23 23 จะไปแทรกกอนหนา 27 จะได
7 12 23 27 36 42 58 96 101 33
เปรียบเทียบ 96 กับ 101 23 ไมมการแทรก จะได
ี
7 12 23 27 36 42 58 96 101 33
เปรียบเทียบ 101 กับ 33 33 จะไปแทรกกอนหนา 36 จะได
7 12 23 27 33 36 42 58 96 101
- 14. 3. การเรียงขอมูลแบบเลือก (Selection Sort)
เปนวิธีที่งายที่สด การเรียงลําดับจะเริ่มจากตําแหนงของขอมูลที่มีคานอย
ุ
ที่สุดหรือ มากที่สุด แลวสลับกับตําแหนงของขอมูลตัวแรก ตอจากนั้นหา
ตําแหนงของขอมูลที่คานอยที่สุดหรือมากที่สุดของขอมูลที่เหลือ แลวสลับ
ขอมูลตัวนั้น ใหทําไปเรื่อยๆ จนหมดขอมูล
- 15. ตัวอยาง
เรียงลําดับขอมูลตัวเลข 15,36,72,25,86,45,7,64,101,96 แบบ Selection Sort
โดยเรียงลําดับจากนอยไปหามาก
15 36 72 25 86 45 7 64 101 96
สลับ 7 กับ 15 จะได
7 36 72 25 86 45 15 64 101 96
สลบ กบ จะได
สลับ 15 กับ 36 จะได
7 15 72 25 86 45 36 64 101 96
สลบ กบ จะได
สลับ 72 กับ 15 จะได
- 16. ตัวอยาง
เรียงลําดับขอมูลตัวเลข 15,36,72,25,86,45,7,64,101,96 แบบ Selection Sort
โดยเรียงลําดับจากนอยไปหามาก
7 15 72 25 86 45 36 64 101 96
สลับ 72 กับ 15 จะได
7 15 25 72 86 45 36 64 101 96
สลับ 36 กับ 72 จะได
7 15 25 36 86 45 72 64 101 96
สลบ กบ จะได
สลับ 45 กับ 86 จะได
- 17. ตัวอยาง
เรียงลําดับขอมูลตัวเลข 15,36,72,25,86,45,7,64,101,96 แบบ Selection Sort
โดยเรียงลําดับจากนอยไปหามาก
7 15 25 36 45 86 72 64 101 96
สลับ 86 กับ 64 จะได
7 15 25 36 45 64 72 86 101 96
สลับ 96 กับ 101 จะได
7 15 25 36 45 64 72 86 96 101
- 18. 4. การเรียงขอมูลแบบผสาน (Merge Sort)
เปนวิธีการเรียงขอมูลที่มีความสําคัญมาก เพราะเปนวิธีสําคัญในการเรียง
ขอมูลขนาดใหญ มี 2 วิธี
1. การเรียงแบบภายนอก (External Sort)
2. การเรยงแบบภายใน
2 การเรียงแบบภายใน (Internal Sort)
- 20. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
เริ่มตน
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge
- 21. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
รอบที่ 1
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge 1
- 22. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
รอบที่ 2
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge 1 2
- 23. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
รอบที่ 3
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge 1 2 3
- 24. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
รอบที่ 4
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge 1 2 3 4
- 25. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
รอบที่ 5
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge 1 2 3 4 5
- 26. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
รอบที่ 6
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge 1 2 3 4 5 6
- 27. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
รอบที่ 7
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge 1 2 3 4 5 6 7
- 28. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
รอบที่ 8
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge 1 2 3 4 5 6 7 8
- 29. 2. การเรียงแบบภายใน (Internal Sort)
การเรียงลําดับขอมูลในอเรยที่มีขอมูล 2 ชุด จากนอยไปหามาก
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
รอบที่ 9
ชุดที่ 1 = 1 3 4 7 ชุดที่ 2 = 2 5 6 8 9
Merge 1 2 3 4 5 6 7 8 9
- 30. 5. การเรียงแบบเร็ว (Quick Sort)
เปนการจัดเรียงลําดับที่ใชเวลานอยที่สุด เหมาะสําหรับการเรียงลําดับที่มี
จํานวนขอมููลมากๆ วิธการเรียงลําดับเริ่มตนโดยการเลือกขอมููล 1 คา เพื่อ
ๆ ี
ใชเปรียบเทียบในการที่จะแบงขอมูลออกเปนสองสวน และขอมูลที่เลือก
ขึ้นมาจะอยููตรงกลางระหวางขอมููล 2 สวน จากนั้นใหนําขอมููล แตละสวน
ไปแบงเปนสวนยอยในวิธีแบบเดียวกัน
- 31. ตัวอยาง
จงเรียงลําดับขอมูล 28,34, 76, 48, 96, 52, 64, 85, 17, 82 โดยวิธี Quick Sort
โดยเรียงลําดับจากนอยไปหามาก
28 34 76 48 96 52 64 85 17 82
เลือก 28 แลวพิจารณา ตัวนอยสุดของขอมููล คือ 17 สลับขอมููล จะได
ุ
17 34 76 48 96 52 64 85 (28) 82
พจารณา
พิจารณา 34 กับ (28) สลับขอมล จะได
กบ สลบขอมูล จะได
17 (28) 76 48 96 52 64 85 34 82
- 32. ตัวอยาง
จงเรียงลําดับขอมูล 28,34, 76, 48, 96, 52, 64, 85, 17, 82 โดยวิธี Quick Sort
โดยเรียงลําดับจากนอยไปหามาก
แบงขอมูลออกเปน 2 สวน
17 (28) 76 48 96 52 64 85 34 82
76 48 96 52 64 85 34 82
เลอก
เลือก 76 แลวพิจารณา ตัวนอยสดของขอมล คอ 34 สลับขอมล จะได
แลวพจารณา ตวนอยสุดของขอมูล คือ สลบขอมูล จะได
34 48 96 52 64 85 (76) 82
พิิจารณา 48 กับ (76) ซึ่ง 48 นอยกวา 76 ไมตองสลับ
- 33. ตัวอยาง
จงเรียงลําดับขอมูล 28,34, 76, 48, 96, 52, 64, 85, 17, 82 โดยวิธี Quick Sort
โดยเรียงลําดับจากนอยไปหามาก
34 48 96 52 64 85 (76) 82
พิจารณาลําดับถัดไป 96 กับ (76) สลับ จะได
34 48 (76) 52 64 85 96 82
พจารณาลาดบถดไป
พิจารณาลําดับถัดไป 52 กับ (76) ทําการสลับ จะได
กบ ทาการสลบ จะได
34 48 52 (76) 64 85 96 82
- 34. ตัวอยาง
จงเรียงลําดับขอมูล 28,34, 76, 48, 96, 52, 64, 85, 17, 82 โดยวิธี Quick Sort
โดยเรียงลําดับจากนอยไปหามาก
34 48 52 (76) 64 85 96 82
พิจารณาลําดับถัดไป 64 กับ (76) ทําการสลับ จะได
34 48 52 64 (76) 85 96 82
แบงขอมูลเปน สวน
แบงขอมลเปน 2 สวน
34 48 52 64 (76) 85 96 82
- 35. ตัวอยาง
จงเรียงลําดับขอมูล 28,34, 76, 48, 96, 52, 64, 85, 17, 82 โดยวิธี Quick Sort
โดยเรียงลําดับจากนอยไปหามาก
แบงขอมูลเปน 2 สวน
34 48 52 64 (76) 85 96 82
85 96 82
เลอก
เลือก 85 แลวพิจารณา ตัวนอยสดของขอมล คอ 82 สลับขอมล จะได
แลวพจารณา ตวนอยสุดของขอมูล คือ สลบขอมูล จะได
82 96 (85)
- 36. ตัวอยาง
จงเรียงลําดับขอมูล 28,34, 76, 48, 96, 52, 64, 85, 17, 82 โดยวิธี Quick Sort
โดยเรียงลําดับจากนอยไปหามาก
82 96 (85)
พิจารณา 96 กับ (85) ทําการสลับจะได
82 (85) 96
ผลลพธทได
ผลลัพธที่ได
17 28 34 48 52 64 76 82 85 96
- 37. สรุป
Sorting เปนอัลกอริทึมที่ตองการเก็บรักษาและคนหาขอมูล ทําใหเราตอง
มีการจัดเก็บขอมูลอยางมีระเบียบแบบแผน ตัวอยาง งานบรรณารักษที่มี
หนาที่ดูแลหองสมุด ตองมีการจัดการรายละเอียดขอมูลของหนังสือตางๆ
ใหเปนแบบขอมูลที่เรียงลําดับตามตัวอักษร