Tuần 23 — Thuật toán sắp xếp - Sắp xếp chọn và chèn
Tin học Lớp 10 · 6 câu hỏi có lời giải
Câu 1.Sắp xếp chọn (selection sort) là?
- A.Lặp đệ quy
- B.Random
- C.Chọn phần tử nhỏ nhất trong phần chưa sắp, đưa lên đầu
- D.Chia đôi
Xem đáp án
Đáp án: C. Chọn phần tử nhỏ nhất trong phần chưa sắp, đưa lên đầu
Selection sort: mỗi lượt chọn min của phần chưa sắp, đổi vị trí với đầu phần chưa sắp.
Câu 2.Độ phức tạp selection sort?
- A.O(n) — tuyến tính
- B.O(n²)
- C.O(log n)
- D.O(1) — hằng số
Xem đáp án
Đáp án: B. O(n²)
Selection sort O(n²) tệ nhất và trung bình.
Câu 3.Sắp xếp chèn (insertion sort) là?
- A.Chèn từng phần tử vào đúng vị trí ở mảng đã sắp
- B.Random
- C.Đảo ngược
- D.Chọn min
Xem đáp án
Đáp án: A. Chèn từng phần tử vào đúng vị trí ở mảng đã sắp
Insertion sort: lấy từng phần tử, chèn vào đúng chỗ trong mảng đã sắp đầu.
Câu 4.Khi nào insertion sort nhanh nhất?
- A.Mảng gần như đã sắp
- B.Mảng rỗng
- C.Mảng ngẫu nhiên
- D.Mảng đảo ngược
Xem đáp án
Đáp án: A. Mảng gần như đã sắp
Insertion sort tốt nhất O(n) khi mảng gần như đã sắp xếp.
Câu 5.Python có hàm sắp xếp built-in?
- A.order()
- B.arrange()
- C.sorted() và list.sort()
- D.sort_list()
Xem đáp án
Đáp án: C. sorted() và list.sort()
sorted() trả về list mới đã sắp; list.sort() sắp tại chỗ.
Câu 6.Sắp xếp giảm dần trong Python?
- A.sortDesc(lst)
- B.lst.reverse()
- C.sorted(lst, reverse=True)
- D.sort(lst, desc)
Xem đáp án
Đáp án: C. sorted(lst, reverse=True)
sorted(lst, reverse=True) trả về list giảm dần.