Tuần 20 — Thuật toán sắp xếp chọn (Selection sort)
Tin học Lớp 8 · 5 câu hỏi có lời giải
Câu 1.Ý tưởng selection sort?
- A.Chọn phần tử nhỏ nhất, đưa lên đầu, lặp với phần còn lại
- B.Chèn mỗi phần tử vào vị trí đúng
- C.Chia đôi
- D.Đổi chỗ liền kề
Xem đáp án
Đáp án: A. Chọn phần tử nhỏ nhất, đưa lên đầu, lặp với phần còn lại
Selection sort: mỗi lần chọn min của phần chưa sắp, đặt lên đầu phần đó.
Câu 2.Số lần so sánh trong selection sort cho n phần tử?
- A.O(log n) — chia đôi mỗi bước
- B.~ n²/2 (O(n²))
- C.O(n³) — ba vòng lặp lồng
- D.O(n) — duyệt 1 lượt
Xem đáp án
Đáp án: B. ~ n²/2 (O(n²))
Selection sort có độ phức tạp O(n²) — không phụ thuộc thứ tự đầu vào.
Câu 3.Selection sort sắp [3,1,2]. Bước 1?
- A.Đổi 3 và 1 ngay vì 3>1
- B.Tìm min (1), đổi với phần tử đầu → [1,3,2]
- C.Đổi 3 với 2
- D.Đổi 3 với 1 sau khi chèn
Xem đáp án
Đáp án: B. Tìm min (1), đổi với phần tử đầu → [1,3,2]
Bước 1: tìm min trong toàn dãy = 1, đổi vị trí với 3 → [1,3,2].
Câu 4.Sau bước 1, phần tử nào đã đúng vị trí?
- A.Phần tử giữa (vị trí 1)
- B.Chưa có
- C.Phần tử đầu (vị trí 0)
- D.Phần tử cuối (vị trí n-1)
Xem đáp án
Đáp án: C. Phần tử đầu (vị trí 0)
Sau bước 1, phần tử đầu đã là min — đúng vị trí cuối cùng.
Câu 5.Ưu điểm selection sort?
- A.Đơn giản, dễ cài đặt, số lần đổi chỗ ít
- B.Tối ưu bộ nhớ tuyệt đối
- C.Ổn định
- D.Nhanh nhất
Xem đáp án
Đáp án: A. Đơn giản, dễ cài đặt, số lần đổi chỗ ít
Selection sort dễ hiểu, số swap chỉ O(n), nhưng chậm với n lớn.