Selection Sort

Selection sort เป็นวิธีการเรียงลำดับที่เขียนโปรแกรมง่าย มีหลักการทำงานคล้าย bubble sort และ heap sort คือการผลักให้ข้อมูลตัวมากสุดไปอยู่หลังสุดในกลุ่ม แต่มีวิธีการหาตัวมากสุด และการนำไปอยู่ตำแหน่งหลังสุดต่างกัน สำหรับ selection sort ใช้วิธี ลุยเปรียบเทียบหาตัวมากสุดในกลุ่ม แล้วไปสลับกับตัวหลังสุด

การทดลองข้างล่างนี้ป้อนข้อมูลเริ่มต้นให้กับ selection sort สามแบบ คือ ข้อมูลเรียงเรียบร้อยแล้ว ข้อมูลเรียงกลับลำดับ และ ข้อมูลสุ่ม ให้สังเกตว่า การเรียงลำดับข้อมูลที่เรียงลำดับแล้วกลับช้ากว่ากรณีที่ข้อมูลเรียงกลับลำดับ เหมือนกับ heap sort ลองหาเหตุผลดูเองว่า ทำไมจึงเป็นเช่นนั้น ?

(อย่าลืมอ่านข้อแนะนำในการตีความผลการทดลอง)


สมชาย ประสิทธิ์จูตระกูล