Insertion Sort ใน Python
หลักการคล้ายการจัดไพ่ในมือ
Insertion Sort ใน Python คืออะไร?
หลักการคล้ายการจัดไพ่ในมือ
แทรกแต่ละสมาชิกลงในส่วนที่เรียงแล้ว
ควรใช้เมื่อใด?
- ทำความเข้าใจอัลกอริทึมและโครงสร้างข้อมูล
- สังเกตแต่ละขั้นตอนและกรณีขอบ
- เปรียบเทียบเวลาและหน่วยความจำ
ภาพจำลอง Insertion Sort ใน Python
กด เล่น หรือ ทีละขั้น เพื่อดูการเปรียบเทียบและการย้ายข้อมูลแต่ละขั้น
โค้ดตัวอย่าง
main.py
def insertion_sort(values):
result = values.copy()
for index in range(1, len(result)):
current = result[index]
position = index - 1
while position >= 0 and result[position] > current:
result[position + 1] = result[position]
position -= 1
result[position + 1] = current
return result
print(insertion_sort([9, 5, 1, 4, 3]))
ผลลัพธ์ที่คาดหวัง
[1, 3, 4, 5, 9]
หลักการทำงาน
เลื่อนค่าที่มากกว่าเพื่อเปิดตำแหน่ง เหมาะกับข้อมูลที่เกือบเรียงแล้ว
เปลี่ยนค่าและรันโปรแกรมด้วย คอมไพเลอร์ Python ออนไลน์ของ CodeUtility โดยไม่ต้องติดตั้ง Python
แบบฝึกหัด
ลองเปลี่ยน input และทดสอบกรณีขอบก่อนใช้ชุดข้อมูลที่ใหญ่ขึ้น
- ทดสอบ input ว่าง หนึ่งสมาชิก และค่าซ้ำ
- แสดงสถานะหลังแต่ละขั้นตอน
- เปรียบเทียบประสิทธิภาพกับวิธีอื่น