ผลต่างระหว่างรุ่นของ "การเรียงลำดับแบบเลือก"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Phizaz (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
Phizaz (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
บรรทัด 12:
| optimal = No
}}
'''การเรียงลำดับแบบเลือก''' ({{lang-en|selection sort}}) เป็น[[ขั้นตอนวิธีการเรียงลำดับ]]อย่างง่ายโดยใช้วิธีการเปรียบเทียบ มีประสิทธิภาพ O(n<sup>2</sup>) ทำให้ไม่เหมาะสมที่จะใช้ในกรณีที่มีข้อมูลใน[[ลิสต์รายการ]]เป็นจำนวนมาก หากปรับปรุงการหาค่าน้อยที่สุดในลิสต์รายการด้วยโครงสร้างข้อมูลแบบ[[ฮีปทวิภาค]]จะเรียกว่า[[การเรียงลำดับแบบฮีป]] ซึ่งมีประสิทธิภาพดีกว่าที่ O(n log n)
 
==ขั้นตอนวิธี==
บรรทัด 19:
#หาตัวที่น้อยที่สุดอีกครั้ง
===ตัวอย่างทีละขั้นตอน===
การเรียงลำดับข้อมูลในลิสต์รายการดังนี้ 64 25 12 22 11 ด้วยขันตอนวิธีแบบเลือก เริ่มต้นถือว่าทุกตัวในลิสต์รายการยังไม่เรียง<br>
'''ครั้งที่ 1''' หาตัวที่มีค่าน้อยที่สุดในลิสต์รายการส่วนที่ยังไม่เรียงนั่นคือ 11 สลับกับตัวแรกของข้อมูลที่ยังไม่เรียงนั่นคือ 64<br>
('''64''' 25 12 22 '''11''') <math>\to</math> ('''11''' 25 12 22 '''64''')<br>
'''ครั้งที่ 2''' หาตัวที่มีค่าน้อยที่สุดนั่นคือ 12 สลับกับตัวแรกนั่นคือ 25<br>