Sorting
Upcoming SlideShare
Loading in...5
×
 

Sorting

on

  • 1,477 views

 

Statistics

Views

Total Views
1,477
Views on SlideShare
1,177
Embed Views
300

Actions

Likes
0
Downloads
3
Comments
0

1 Embed 300

http://kroopeeraya.wordpress.com 300

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Sorting Sorting Presentation Transcript

    • แนวคิด ชีวิตประจําวันเราไดมีการจัดเรียงขอมูลตางๆ มากมาย เชน การ จัดเรียงตัวอักษรในพจนานุกรม การจัดเรียงลําดับรายชื่อนักเรียนที่มี ุ คะแนนสูงสุดไปต่ําสุด เปนตน หากมีขอมูลมากๆ แลวไมทําการ เรยงขอมูลกจะทาใหเสยเวลาในการคนหาขอมูลเปนอยางมาก เรียงขอมลก็จะทําใหเสียเวลาในการคนหาขอมลเปนอยางมาก
    • การเรียงลําดับขอมูล 1. การเรียงลําดับขอมูลภายใน (Internal Sorting) เปนการเรียงลําดับ ขอมูลที่ขอมูลทั้งหลายเก็บอยูในหนวยความจําหลัก ซึ่งจํานวนขอมูลมักจะมี ขนาดนอยกวาขนาดของพื้นที่หนวยความจํา 2. การเรียงลําดับขอมูลภายนอก (External Sorting) เปนการเรียงลําดับ ขอมููลที่ขอมููลทั้งหลายถููกเก็บไวในหนวยความจําสํารอง
    • อัลกอริทึมในการเรียงขอมูล อัลกอริทึมมีดวยกันหลายอัลกอริทึม แตละอันก็เหมาะสมกับลักษณะของ ปญหาที่แตกตางกันไป ตองพิจารณาถึงพื้นที่ประหยัดหรือไม เวลามากนอย จํานวนขอมูลมีมากเกินไปหรือไม
    • อัลกอริทึม 1. การเรียงขอมูลแบบฟอง (Bubble Sort) 2. การเรียงขอมูลแบบแทรก (Insertion Sort) 3. การเรียงขอมลแบบเลือก (Selection Sort) การเรยงขอมูลแบบเลอก 4. การเรียงขอมูลแบบผสาน (Merge Sort) 5. การเรียงแบบเร็ว (Quick Sort)
    • 1. การเรียงขอมูลแบบฟอง (Bubble Sort) เปนการเรียงแบบงายๆ เปนแบบหนึ่งในการเรียงลําดับที่เปน ๆ Exchange sort ใชหลักการเปรียบเทียบคา 2 คาที่ติดกัน ถาทั้ง 2 ไมอยในลําดับที่ตองการใหทําการแลกเปลียนคากันระหวาง 2 ไมอยู นลาดบทตองการใหทาการแลกเปลยนคากนระหวาง ่ ตําแหนง จากนั้นเปรียบเทียบคูถัดไป
    • ตัวอยาง การเรียงลําดับขอมูลแบบ 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
    • ตัวอยาง การเรียงลําดับขอมูลแบบ Bubble Sort ในอารเรยทีมีขอมูล 7 22 6 17 20 จาก ํ ั  ใ   ่ มากไปหานอย รอบทีี่ 2 22 7 17 20 6 22 17 7 20 6 22 17 20 7 6
    • ตัวอยาง การเรียงลําดับขอมูลแบบ Bubble Sort ในอารเรยทีมีขอมูล 7 22 6 17 20 จาก ํ ั  ใ   ่ มากไปหานอย รอบทีี่ 3 22 17 20 7 6 22 20 17 7 6
    • 2. การเรียงลําดับแบบแทรก (Insertion Sort) เปนเทคนิคที่ใชในชีวิตประจาวัน เปรียบเทียบกับการเลนไพ ทุกครั้งที่หยิบ ํ ไพจะหาตาแหนงทเหมาะสมเพอแทรกลงไป โดยพจารณาขอมูลตาแหนงท ไพจะหาตําแหนงที่เหมาะสมเพื่อแทรกลงไป โดยพิจารณาขอมลตําแหนงที่ i (i= 2,3,4,…n) ถามีคานอยกวาขอมูลที่อยูกอนหนานี้ ใหนาขอมูลตําแหนง ํ ท ไปแทรกในตาแหนงทถูกตอง ที่ i ไปแทรกในตําแหนงที่ถกตอง
    • ตัวอยาง ใหเรียงลําดับขอมูลตัวเลข 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 จะได
    • ตัวอยาง ใหเรียงลําดับขอมูลตัวเลข 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 จะได
    • ตัวอยาง ใหเรียงลําดับขอมูลตัวเลข 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
    • 3. การเรียงขอมูลแบบเลือก (Selection Sort) เปนวิธีที่งายที่สด การเรียงลําดับจะเริ่มจากตําแหนงของขอมูลที่มีคานอย ุ ที่สุดหรือ มากที่สุด แลวสลับกับตําแหนงของขอมูลตัวแรก ตอจากนั้นหา ตําแหนงของขอมูลที่คานอยที่สุดหรือมากที่สุดของขอมูลที่เหลือ แลวสลับ ขอมูลตัวนั้น ใหทําไปเรื่อยๆ จนหมดขอมูล
    • ตัวอยาง เรียงลําดับขอมูลตัวเลข 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 จะได
    • ตัวอยาง เรียงลําดับขอมูลตัวเลข 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 จะได
    • ตัวอยาง เรียงลําดับขอมูลตัวเลข 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
    • 4. การเรียงขอมูลแบบผสาน (Merge Sort) เปนวิธีการเรียงขอมูลที่มีความสําคัญมาก เพราะเปนวิธีสําคัญในการเรียง ขอมูลขนาดใหญ มี 2 วิธี 1. การเรียงแบบภายนอก (External Sort) 2. การเรยงแบบภายใน 2 การเรียงแบบภายใน (Internal Sort)
    • 1. การเรียงแบบภายนอก (External Sort)
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 5. การเรียงแบบเร็ว (Quick Sort) เปนการจัดเรียงลําดับที่ใชเวลานอยที่สุด เหมาะสําหรับการเรียงลําดับที่มี จํานวนขอมููลมากๆ วิธการเรียงลําดับเริ่มตนโดยการเลือกขอมููล 1 คา เพื่อ ๆ ี ใชเปรียบเทียบในการที่จะแบงขอมูลออกเปนสองสวน และขอมูลที่เลือก ขึ้นมาจะอยููตรงกลางระหวางขอมููล 2 สวน จากนั้นใหนําขอมููล แตละสวน ไปแบงเปนสวนยอยในวิธีแบบเดียวกัน
    • ตัวอยาง จงเรียงลําดับขอมูล 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
    • ตัวอยาง จงเรียงลําดับขอมูล 28,34, 76, 48, 96, 52, 64, 85, 17, 82 โดยวิธี Quick Sort โดยเรียงลําดับจากนอยไปหามากแบงขอมูลออกเปน 2 สวน17 (28) 76 48 96 52 64 85 34 8276 48 96 52 64 85 34 82เลอกเลือก 76 แลวพิจารณา ตัวนอยสดของขอมล คอ 34 สลับขอมล จะได แลวพจารณา ตวนอยสุดของขอมูล คือ สลบขอมูล จะได34 48 96 52 64 85 (76) 82พิิจารณา 48 กับ (76) ซึ่ง 48 นอยกวา 76 ไมตองสลับ
    • ตัวอยาง จงเรียงลําดับขอมูล 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
    • ตัวอยาง จงเรียงลําดับขอมูล 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
    • ตัวอยาง จงเรียงลําดับขอมูล 28,34, 76, 48, 96, 52, 64, 85, 17, 82 โดยวิธี Quick Sort โดยเรียงลําดับจากนอยไปหามากแบงขอมูลเปน 2 สวน34 48 52 64 (76) 85 96 8285 96 82เลอกเลือก 85 แลวพิจารณา ตัวนอยสดของขอมล คอ 82 สลับขอมล จะได แลวพจารณา ตวนอยสุดของขอมูล คือ สลบขอมูล จะได82 96 (85)
    • ตัวอยาง จงเรียงลําดับขอมูล 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
    • สรุป Sorting เปนอัลกอริทึมที่ตองการเก็บรักษาและคนหาขอมูล ทําใหเราตอง มีการจัดเก็บขอมูลอยางมีระเบียบแบบแผน ตัวอยาง งานบรรณารักษที่มี หนาที่ดูแลหองสมุด ตองมีการจัดการรายละเอียดขอมูลของหนังสือตางๆ ใหเปนแบบขอมูลที่เรียงลําดับตามตัวอักษร