Selection Sort: อัลกอริทึมจัดเรียงโดยหาค่าน้อยที่สุดจากส่วนที่ยังไม่เรียง แล้วย้ายไปไว้หน้า สร้าง 2 ส่วนย่อย: ส่วนที่เรียงแล้ว และส่วนที่ยังไม่เรียง

โค้ดตัวอย่าง
A = ['t','u','t','o','r','i','a','l']
for i in range(len(A)):
min_idx = i
for j in range(i+1, len(A)):
if A[min_idx] > A[j]:
min_idx = j
# swap
A[i], A[min_idx] = A[min_idx], A[i]
for i in range(len(A)):
print(A[i])
ผลลัพธ์
a i l o r t t u
Time Complexity: O(n²), Auxiliary Space: O(1)

สรุป
เรียนรู้ Selection Sort ใน Python: หาค่าน้อยที่สุดจากส่วนที่ยังไม่เรียง สลับมาหน้า Complexity O(n²)