วันเสาร์, กันยายน 19, 2552

DTS 11 09-09-52

สรุป (Sorting )

วิธีการเรียงลำดับสามารถแบ่งออกเป็น 2 ประเภทดังนี้

1.การเรียงลำดับแบบภายใน (internal sorting)เป็นการเรียงลำดับที่ข้อมูลทั้งหมดต้องอยู่ในหน่วยความจำหลัก ในการเรียงลำดับจะคำนึงถึงเวลาที่ใช้ในการเปรียบเทียบและข้อมูลความจำหลัก

2.การเรียงลำดับแบบภายนอก(external sorting) เป็นการเรียงลำดับข้อมูลที่เก็บอยู่ในหน่วยความจำสำรอง ซึ่งเป็นการเรียงลำดับข้อมูลในแฟ้มข้อมูล (file)
เวลาที่ใช้ในการเรียงลำดับต้องคำนึงถึงเวลาที่เสียไประหว่างการถ่ายเทข้อมูลจากหน่วยความจำหลักและหน่วยความจำสำรองนอกเหนือจากเวลาที่ใช้ในการเรียงลำดับแบบภายในการเรียงลำดับแบบเลือก

(selection sort)คือจะทำการเลือกข้อมูลในแต่ละรอบแบบเรียงลำดับเป็นต้นการจัดเรียงลำดับแบบเลือกเป็นวิธีที่ง่ายและตรงไปตรงมา แต่มีข้อเสียตรงที่ใช้เวลาในการจัดเรียงนานเพราะแต่ละรอบต้องเปรียบเทียบกับข้อมูลทุกตัว ถ้ามีจำนวนข้อมูลทั้งหมด n ตัว ต้องทำการเปรียบเทียบทั้งหมดn – 1 รอบ และจำนวนครั้งของการเปรียบเทียบในแต่ละรอบเป็นดังนี้รอบที่ 1 เปรียบเทียบเท่ากับ n −1 ครั้งรอบที่ 2 เปรียบเทียบเท่ากับ n – 2 ครั้ง...รอบที่ n – 1 เปรียบเทียบเท่ากับ 1 ครั้งการเรียงลำดับแบบฟอง (Bubble Sort)เป็นวิธีการเรียงลำดับที่มีการเปรียบเทียบข้อมูลในตำแหน่งที่อยู่ติดกัน
1. ถ้าข้อมูลทั้งสองไม่อยู่ในลำดับที่ถูกต้องให้สลับตำแหน่งที่อยู่กัน
2. ถ้าเป็นการเรียงลำดับจากน้อยไปมากให้นำข้อมูลตัวที่มีค่าน้อยกว่าอยู่ในตำแหน่งก่อนข้อมูลที่มีค่ามาก
การเรียงลำดับแบบเร็ว (quick sort)เป็นวิธีการเรียงลำดับที่ใช้เวลาน้อยเหมาะสำหรับข้อมูลที่มีจำนวนมากที่ต้องการความรวดเร็วในการทำงาน วิธีนี้จะเลือกข้อมูลจากกลุ่มข้อมูลขึ้นมาหนึ่งค่าเป็นค่าหลัก แล้วหาตำแหน่งที่ถูกต้องให้กับค่าหลักนี้
การเรียงลำดับแบบแทรก (insertion sort)เป็นวิธีการเรียงลำดับที่ทำการเพิ่มสมาชิกใหม่เข้าไปในเซต ที่มีสมาชิกทุกตัวเรียงลำดับอยู่แล้ว และทำให้เซตใหม่ที่ได้นี้มีสมาชิกทุกตัวเรียงลำดับด้วย วิธีการเรียงลำดับจะ1. เริ่มต้นเปรียบเทียบจากข้อมูลในตำแหน่งที่ 1 กับ 2หรือข้อมูลในตำแหน่งสุดท้ายและรองสุดท้ายก็ได้ถ้าเป็นการเรียงลำดับจากน้อยไปมาก2. จะต้องจัดให้ข้อมูลที่มีค่าน้อยอยู่ในตำแหน่งก่อนข้อมูลที่มีค่ามาก เช่น สมมุติข้อมูล 12 ตัว35 67 58 47 22 99 82 43 11 40 29 55
รอบที่หนึ่งเราจะพิจารณาในหลักหน่วย
กลุ่ม8 58
กลุ่ม 7 67 47
กลุ่ม 6
กลุ่ม 5 35 55
กลุ่ม 4
กลุ่ม 3 43
กลุ่ม 2 22 82
กลุ่ม1 11
กลุ่ม0 40 เป็นต้น
รอบที่สองเราจะพิจารณาในหลักสิบเช่น 40 11 22 82 43 35 55 67 47 58 99 29
กล่ม 0
กลุ่ม 9 99
กลุ่ม 8 82
กลุ่ม 7
กลุ่ม 6 67
กลุ่ม 5 55 58
กลุ่ม 4 40 43 47
กลุ่ม 3 35
กลุ่ม 2 22 29
กลุ่ม 1 11 เป็นต้น
ในรอบที่ 2 เมื่อทำการจัดกลุ่มเรียบร้อยแล้วให้รวบรวมข้อมูลในทุกกลุ่มเริ่มจากข้อมูลในกลุ่ม 0จนถึงกลุ่ม 9 ได้ข้อมูลเรียงตามลำดับดังนี้11 22 29 35 40 43 47 55 58 67 82 99

ไม่มีความคิดเห็น:

แสดงความคิดเห็น