Insertion Sort (การเรียงลำดับแบบแทรก) เป็นขั้นตอนวิธีการเรียงลำดับอย่างง่าย ทำงานโดยจะแบ่งข้อมูลในรายการเป็นสองส่วนคือส่วนที่เรียงแล้ว และส่วนที่ยังไม่เรียง แน่นอนว่าในตอนเริ่มแรกส่วนที่เรียงแล้วก็จะมีอย่างน้อยหนึ่งตัว และจะเริ่มหยิบข้อมูลตัวหนึ่งของส่วนที่ยังไม่เรียงมาเปรียบเทียบเพื่อหาตำแหน่งที่เหมาะสมในการแทรกลงในข้อมูลที่เรียงแล้ว ลักษณะเดียวกับการเรียงไพ่ในมือ และด้วยประสิทธิภาพ O(n^2) ดังนั้นการเรียงลำดับแบบแทรกจึงไม่เหมาะในการทำงานในรายการที่มีจำนวนสมาชิกมากๆ (อ้างอิงจาก https://th.wikipedia.org/wiki/การเรียงลำดับแบบแทรก)
Text Mode

และผลที่ได้
จากนั้นได้เพิ่มการแสดงผลแต่ละขึ้นตอน และจัดเรียง code ใหม่

ได้ผลดังนี้

Sort with GUI [เพิ่มเติมใน slide]
ได้ทำการดัดแปลง code จาก Selection Sort ให้ใช้วิธี sort แบบ Insertion Sort แทน และทำการปรับเปลี่ยนการแสดงผลให้เหมาะสมกับ Insertion Sort
การทำงานของโปรแกรม
- เริ่มการทำงานเมื่อ ใส่ input และกดปุ่ม " sort! " ที่มุมขวา-บน ในโปรแกรมจะทำการ sort ด้วยวิธี Insertion Sort และเก็บข้อมูลการ Sort ของทุกขั้นตอนไว้ และเริ่มสร้าง widgets ที่มีข้อมูลจาก input อยู่ภายใน
- จะแสดงผลการ sort ขั้นต่อไปเมื่อกดปุ่ม "next" ที่มุมขวา-ล่าง (สามารถกดย้อนดูขั้นตอนที่ผ่านมาแล้วด้วยปุ่ม "previous")
ปล. การ sort แบบเต็ม สามารถดูได้จาก slide บนโพสต์




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