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

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Phizaz (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
Phizaz (คุย | ส่วนร่วม)
ไม่มีความย่อการแก้ไข
บรรทัด 1:
{{สั้นมาก}}
[[ไฟล์:Selection-Sort-Animation.gif|right|thumb|แสดงขั้นตอนการทำงานของการเรียงลำดับแบบเลือก; สีเหลือง คือ เรียงเรียบร้อยแล้ว ; สีแดง คือ ค่าที่น้อยที่สุดในปัจจุบัน ; สีฟ้า คือ ค่าที่กำลังพิจารณา]]
'''การเรียงลำดับแบบเลือก''' ({{lang-en|selection sort}}) เป็น[[ขั้นตอนวิธี]]การเรียงลำดับอย่างง่าย มีประสิทธิภาพ O(n<sup>2</sup>) ทำให้ไม่เหมาะสมที่จะใช้ในกรณีที่มีข้อมูลใน[[ลิสต์]]เป็นจำนวนมาก
 
==ขั้นตอนวิธี==
#หาตัวที่มีค่าน้อยที่สุดในลิสต์ส่วนที่ยังไม่เรียง
#สลับตัวนี้กับตัวแรกของข้อมูลที่ยังไม่เรียง
#หาตัวที่น้อยที่สุดอีกครั้ง โดยเริ่มจากตำแหน่งถัดไป
===ตัวอย่าง===
มีข้อมูล 5 ตัวอยู่ในลิสต์ดังนี้ 64 25 12 22 11 โดยถือว่าทุกตัวในลิสต์ยังไม่เรียง
<pre>
ครั้งที่ 1 หาตัวที่มีค่าน้อยที่สุดในลิสต์ส่วนที่ยัีงไม่เรียงนั่นคือ 11 สลับกับตัวแรกของข้อมูลที่ยังไม่เรียงนั่นคือ 64
64 25 12 22 11
(64 25 12 22 11) -> (11 25 12 22 64)
 
ครั้งที่ 2 หาตัวที่มีค่าน้อยที่สุดนั่นคือ 12 สลับกับตัวแรกนั่นคือ 25
11 25 12 22 64
(11 25 12 22 64) -> (11 12 25 22 64)
 
ครั้งที่ 3 หาตัวที่มีค่าน้อยที่สุดนั่นคือ 22 สลับกับตัวแรกนั่นคือ 25
11 12 25 22 64
(11 12 25 22 64) -> (11 12 22 25 64 )
 
สังเกตว่าลิสต์นี้เรียงเรียบร้อยแล้ว
11 12 22 25 64
 
11 12 22 25 64
</pre>
 
[[หมวดหมู่:ขั้นตอนวิธีการเรียงลำดับ]]