วันพุธที่ 16 กันยายน พ.ศ. 2552

DTS10-08/09/2009

Sorting



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




-การจัดเรียงภายใน (internal sorting) การจัดเรียงแบบนี้ ข้อมูลที่จะถูกจัดเรียงต้องเก็บ หรือใช้
หน่วยความจำของเครื่องคอมพิวเตอร์ (RAM) เป็นหลักในการประมวลผลโดยใช้โครงสร้างข้อมูล เช่น อาร์เรย์หรือลิงก์ลิสต์ร่วมด้วย
-การจัดเรียงภายนอก (external sorting) กรณีที่ข้อมูลจำนวนมากไม่สามารถนำไปเก็บไว้ในหน่วยความจำ (RAM) เพื่อประมวลผลได้ทั้งหมด (พึงระลึกไว้ว่า CPU ไม่สามารถประมวลผลกับสื่อข้อมูลที่
เป็นดิสก์ได้) ดังนั้นการจัดเรียงจะทำการจัดเรียงภายนอก โดยใช้วิธีแบ่งข้อมูลออกเป็นส่วนย่อย ซึ่งบางส่วนจะคงไว้ในดิสก์ และทยอยนำข้อมูลบางส่วนเข้าสู่หน่วยความจำ (RAM) เพื่อทำการจัดเรียง




1. การเรียงลำดับแบบเลือก (Selection Sort)
เป็นวิธีที่ง่ายที่สุดในการเรียงลำดับข้อมูล โดยเริ่มจาก
- หาตำแหน่งของข้อมูลที่มีค่าน้อยที่สุดแล้วสลับค่าของตำแหน่งข้อมูลนั้นกับค่าข้อมูลในตำแหน่ง A(1) จะได้ A(1) มีค่าน้อยที่สุด
- หาตำแหน่งของข้อมูลที่มีค่าน้อยที่สุดในกลุ่ม A(2), A(3),....,A(n) แล้วทำกับสลับค่าข้อมูลในตำแหน่ง A(2) อย่างนี้เรื่อยไปจน กระทั่งไม่เกิน N-1 รอบ ก็จะได้ข้อมูลที่เรียงลำดับจากน้อยไปมาก



2. การเรียงลำดับแบบฟอง (Bubble Sort) หลักของการเรียงแบบนี้คือ จะเปรียบเทียบและแลกเปลี่ยนข้อมูล 2 ค่าที่อยู่ติดกันในลักษณะที่เรากำหนด เช่น จากน้อยไปมาก หรือจากมากไปน้อย โดยจะทำการเปรียบเทียบข้อมูลทั้งชุดจนกว่าจะมีการเรียงตามลำดับทั้งหมดขั้นตอนการทำงานของอัลกอริทึม

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

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