Bubble Sort ใน Python
ในแต่ละรอบ ค่าที่มากจะค่อย ๆ เคลื่อนไปท้าย list
Bubble Sort ใน Python คืออะไร?
ในแต่ละรอบ ค่าที่มากจะค่อย ๆ เคลื่อนไปท้าย list
เรียงข้อมูลด้วยการสลับสมาชิกที่อยู่ติดกัน
ควรใช้เมื่อใด?
- ทำความเข้าใจอัลกอริทึมและโครงสร้างข้อมูล
- สังเกตแต่ละขั้นตอนและกรณีขอบ
- เปรียบเทียบเวลาและหน่วยความจำ
ภาพจำลอง Bubble Sort ใน Python
O(n²)กด เล่น หรือ ทีละขั้น เพื่อดูการเปรียบเทียบและการย้ายข้อมูลแต่ละขั้น
โค้ดตัวอย่าง
main.py
def bubble_sort(values):
result = values.copy()
for end in range(len(result) - 1, 0, -1):
swapped = False
for index in range(end):
if result[index] > result[index + 1]:
result[index], result[index + 1] = result[index + 1], result[index]
swapped = True
if not swapped:
break
return result
print(bubble_sort([5, 1, 4, 2, 8]))
ผลลัพธ์ที่คาดหวัง
[1, 2, 4, 5, 8]
หลักการทำงาน
คู่ที่ผิดลำดับจะถูกสลับ มีเวลา O(n²) จึงเหมาะกับการเรียนรู้เป็นหลัก
เปลี่ยนค่าและรันโปรแกรมด้วย คอมไพเลอร์ Python ออนไลน์ของ CodeUtility โดยไม่ต้องติดตั้ง Python
แบบฝึกหัด
ลองเปลี่ยน input และทดสอบกรณีขอบก่อนใช้ชุดข้อมูลที่ใหญ่ขึ้น
- ทดสอบ input ว่าง หนึ่งสมาชิก และค่าซ้ำ
- แสดงสถานะหลังแต่ละขั้นตอน
- เปรียบเทียบประสิทธิภาพกับวิธีอื่น