เทคนิคการเรียงลำดับ Sorting Techniques
ความนำ การเรียงลำดับ คือกระบวนการจัดเรียงข้อมูลในตาราง เป็นงานสำคัญทางคอมพิวเตอร์ใช้เวลาประมาณ 25 % หรือมากว่านั้นไปการเรียง ดังนั้นการเรียนรู้เทคนิคด้านนี้จึงสำคัญกับนักคอมพิวเตอร์มาก เพื่อ สามารถเลือกวิธีเรียงลำดับได้เหมาะสม และ เป็นแนวทางในการพัฒนาคิดค้นวิธีใหม่ๆ
ประโยชน์ของการเยงลำดับ ช่วยในการจัดหมวดหมู่ของข้อมูล (Classify) ช่วยในการค้นหาข้อมูล (Searching) ช่วยในการปรับปรุงแฟ้มลำดับมีประสิทธิภาพมากขึ้น (Matching)
ประเภทของการจัดเรียง แบ่งเป็น 2 ประเภท การเรียงลำดับภายในหน่วยความจำ (Internal Sorting)เหมาะกับตารางขนาดเล็ก ความจุจะต้องไม่เกิดหน่วยความจำ การเรียงลำดับภายนอกหน่วยความจำ (External Sorting) เนื่องจากแฟ้มข้อมูลขนาดใหญ่จึงไม่สามารถนำมาเรียงได้หมดในคราวเดียวต้องนำมาแบ่งเป็นส่วนๆแล้วเรียงและบันทึกลงไว้ในอุปกรณ์บันทึกข้องภายนอกเล่นเทปแม่เหล็ก จากนั้นก็นำทุกๆส่วนมารวมกันเรียงเป็นแฟ้มข้อมูล
การเรียงข้อมูลในหน่วยความจำ การเรียงตามแทรก (Insertion Sorting) การเรียงแบบแลกเปลี่ยน(Exchange Sorting) การเรียงแบบเลือก (Selection Sorting) การเรียงแบบอื่น
การเรียงตามแทรก (Insertion Sorting) แนวคิดคือการนำระเบียนใหม่ครั้งละ 1 ระเบียนแทรกเข้าไปในกลุ่มระเบียน ในตำแหน่งที่ทั้งกลุ่มยังคงเรียงลำดับอยู่ 1. การแทรกโดยตรง (Straight Insertion) 2. การแทรกแบบไบนารี (Binary Insertion) 3. การแทรกแบบ 2 ทาง(Two-way Insertion) 4. การเรียงแบบเลล์ (Shell Sort) 5. การแทรกแบบลิสท์(List Insertion)
การแทรกแบบโดยตรง 503 : 087 087 503 : 512 087 503 512 : 061 061 087 503 512 : 908
การแทรกแบบไบนารี(Binary Insertion) เพื่อลดจำนวนครั้งในการค้นหาในแบบแรก เป็นการค้นหาในกลุ่มระเบียนที่เรียงลำดับ
การแทรกแบบ 2 ทาง เพื่อลดจำนวนครั้งในการเคลื่อนย้ายข้อมูลในแบบไบนารีโดยให้คีย์ตัวแรกอยู่ตำแหน่งกึ่งกลางของเนื้อที่ output จะแทรกระเบียนใหม่ทางด้านซ้าย ถ้าคีย์ใหม่มีค่าน้อยกว่าตัวแรก มิฉนั้นจะแทรกด้านขวา 503 087 503 061 087 503 512 061 087 503 512 503 908