Tuần 22 — Thuật toán sắp xếp - Sắp xếp nổi bọt
Tin học Lớp 10 · 6 câu hỏi có lời giải
Câu 1.Sắp xếp nổi bọt (bubble sort) là?
- A.Đệ quy
- B.Chia đôi
- C.Random
- D.So sánh - hoán đổi từng cặp kề nhau
Xem đáp án
Đáp án: D. So sánh - hoán đổi từng cặp kề nhau
Bubble sort: so sánh cặp kề, hoán đổi nếu sai thứ tự, lặp lại.
Câu 2.Độ phức tạp bubble sort tệ nhất?
- A.O(1) — hằng số
- B.O(n) — tuyến tính
- C.O(n²)
- D.O(log n)
Xem đáp án
Đáp án: C. O(n²)
Bubble sort O(n²) - chậm với mảng lớn.
Câu 3.Bubble sort có ổn định không?
- A.Có (stable)
- B.Chỉ với số nguyên
- C.Không ổn định (unstable)
- D.Tuỳ ngôn ngữ
Xem đáp án
Đáp án: A. Có (stable)
Bubble sort là thuật toán sắp xếp ổn định.
Câu 4.Code bubble sort trong Python?
- A.sort(lst)
- B.sum(lst)
- C.print(lst)
- D.Vòng for lồng 2 cấp, hoán đổi nếu lst[i] > lst[i+1]
Xem đáp án
Đáp án: D. Vòng for lồng 2 cấp, hoán đổi nếu lst[i] > lst[i+1]
Bubble: 2 vòng for, hoán đổi cặp kề nếu thứ tự sai.
Câu 5.Hoán đổi 2 biến trong Python?
- A.tmp = a; a = b; b = tmp
- B.swap(a, b)
- C.a, b = b, a
- D.a := b; b := a
Xem đáp án
Đáp án: C. a, b = b, a
Python: a, b = b, a là cách hoán đổi đơn giản nhất.
Câu 6.Bubble sort có thể tối ưu bằng?
- A.Đảo ngược
- B.Sắp lại
- C.Cờ flag dừng sớm khi không có hoán đổi
- D.Không thể
Xem đáp án
Đáp án: C. Cờ flag dừng sớm khi không có hoán đổi
Nếu không hoán đổi nào trong 1 lượt → mảng đã sắp xong, dừng sớm.