Select the most correct statement about the complexity of bubble sort

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "The best case is O(n), and the worst case is O(n^2)". Bubble sort chuẩn có cờ đánh dấu đã xảy ra đổi chỗ hay chưa: với mảng đã sắp sẵn, lượt quét đầu làm n-1 phép so sánh mà không đổi chỗ lần nào nên thuật toán dừng ngay, cho O(n); với mảng sắp ngược, mỗi lượt chỉ đưa được một phần tử về chỗ nên phải chạy n-1 lượt với tổng khoảng n(n-1)/2 phép so sánh và đổi chỗ, cho O(n^2). Phương án "Both best and worst cases are O(n^2)" chỉ đúng với bản viết không kiểm cờ đổi chỗ, tức luôn chạy đủ n-1 lượt bất kể dữ liệu, điều kiện mà câu hỏi không nêu. Phương án "The best case is O(n), and the worst case is O(nlogn)" sai ở trường hợp xấu: thuật toán chỉ so sánh các cặp kề nhau nên không có cách nào hạ xuống nlogn. Phương án "The best case is O(nlogn), and the worst case is O(n^2)" sai ở trường hợp tốt: một lượt quét sạch đã đủ kết luận, tốn đúng n-1 phép so sánh.

Cùng phần 6

Xuất hiện trong 1 bộ đề