[KNTT] Trắc nghiệm Tin học 11 KHMT bài 21 Các thuật toán sắp xếp đơn giản

[KNTT] Trắc nghiệm Tin học 11 KHMT bài 21 Các thuật toán sắp xếp đơn giản

1. Đâu là thuật toán sắp xếp có độ phức tạp thời gian trong trường hợp xấu nhất (worst-case time complexity) là O(n^2)?
2. Giả sử ta có mảng A = [5, 1, 4, 2, 8]. Sau lượt duyệt đầu tiên của thuật toán sắp xếp nổi bọt (sắp xếp tăng dần), mảng sẽ có dạng nào?
3. Trong thuật toán sắp xếp chèn (insertion sort), để chèn một phần tử vào đúng vị trí trong phần đã sắp xếp, ta thường thực hiện thao tác gì?
4. Đặc điểm ổn định (stable) của một thuật toán sắp xếp có nghĩa là gì?
5. Đâu là thuật toán sắp xếp đơn giản nhưng không hiệu quả về mặt hiệu suất cho các tập dữ liệu lớn?
6. Phát biểu nào sau đây mô tả sai về thuật toán sắp xếp nhanh (quick sort)?
7. Nếu một thuật toán sắp xếp có độ phức tạp thời gian là O(n log n) trong hầu hết các trường hợp, nó được coi là:
8. Thuật toán sắp xếp nào có thể được mô tả là lấy một phần tử từ danh sách chưa sắp xếp và chèn nó vào vị trí đúng trong phần đã sắp xếp của danh sách?
9. Trong thuật toán sắp xếp trộn (merge sort), quá trình chia (divide) có ý nghĩa gì?
10. Nếu một danh sách đã được sắp xếp theo thứ tự tăng dần, thuật toán sắp xếp nổi bọt sẽ thực hiện bao nhiêu lượt duyệt để kết thúc?
11. Đâu là ưu điểm chính của thuật toán sắp xếp chèn (insertion sort) khi làm việc với các danh sách gần như đã được sắp xếp?
12. Khi một thuật toán sắp xếp không phải là ổn định (unstable), điều này có thể dẫn đến hệ quả gì nếu có các phần tử trùng lặp?
13. Thuật toán sắp xếp nào thường được sử dụng để sắp xếp các danh sách có kích thước rất nhỏ hoặc gần như đã sắp xếp?
14. Trong thuật toán sắp xếp nổi bọt (bubble sort), ở mỗi lượt duyệt qua danh sách, phần tử lớn nhất (hoặc nhỏ nhất tùy cách sắp xếp) sẽ được nổi lên vị trí cuối cùng. Phát biểu nào sau đây mô tả đúng nhất nguyên tắc hoạt động của thuật toán này?
15. Đâu là nhược điểm chính của thuật toán sắp xếp trộn (merge sort) về mặt sử dụng bộ nhớ?
16. Trong sắp xếp nổi bọt, để sắp xếp mảng theo thứ tự giảm dần, ta cần thay đổi điều kiện so sánh như thế nào?
17. Thuật toán sắp xếp chọn (selection sort) có đặc điểm gì nổi bật so với sắp xếp nổi bọt về số lần đổi chỗ?
18. Thuật toán sắp xếp nào sử dụng cấu trúc dữ liệu đống (heap) để thực hiện sắp xếp?
19. Tại sao việc chọn pivot (chốt) đúng cách lại quan trọng trong thuật toán sắp xếp nhanh (quick sort)?
20. Thuật toán nào sau đây được xem là không hiệu quả đối với các tập dữ liệu lớn vì độ phức tạp thời gian của nó trong trường hợp xấu nhất là O(n^2)?
21. Khi đánh giá hiệu suất của các thuật toán sắp xếp, độ phức tạp thời gian (time complexity) thường được đo bằng gì?
22. Trong thuật toán sắp xếp trộn (merge sort), bước quan trọng nhất để đảm bảo tính đúng đắn là gì?
23. Trong thuật toán sắp xếp chọn (selection sort), sau k lượt duyệt, điều gì có thể khẳng định về k phần tử đầu tiên của danh sách?
24. Khi so sánh thuật toán sắp xếp chèn (insertion sort) và sắp xếp chọn (selection sort) trên một mảng có kích thước N:
25. Nếu bạn cần sắp xếp một danh sách rất lớn và ưu tiên hiệu suất cao, thuật toán nào sau đây là lựa chọn tốt nhất?