

def bubble_sort(A):
n = len(A)
for i in range(n):
for j in range(0, n - i - 1):
if A[j] > A[j + 1]:
# đổi chỗ
A[j], A[j + 1] = A[j + 1], A[j]
xác định độ phức tạp của thuật toán sắp xếp nổi bọt
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
Đáp án:
Giải thích các bước giải:
Trường hợp xấu nhất (mảng đảo ngược hoàn toàn)
Phải so sánh và đổi chỗ nhiều nhất
O(n²)
Trường hợp trung bình
O(n²)
Trường hợp tốt nhất (mảng đã sắp xếp sẵn)
Với code hiện tại (không có tối ưu)
vẫn chạy đủ vòng
O(n²)
Lưu ý quan trọng
Nếu thêm biến kiểm tra (flag) để dừng sớm:
Khi đó:
Trường hợp tốt nhất: O(n)
Độ phức tạp bộ nhớ
O(1) (sắp xếp tại chỗ, không dùng thêm bộ nhớ đáng kể)
Hãy giúp mọi người biết câu trả lời này thế nào?

Bảng tin