Trắc nghiệm Cánh diều Tin học 11 KHMT bài 8 Lập trình một số thuật toán sắp xếp

Trắc nghiệm Cánh diều Tin học 11 KHMT bài 8 Lập trình một số thuật toán sắp xếp

1. Trong thuật toán sắp xếp nổi bọt (Bubble Sort), ở mỗi lần lặp qua danh sách, phần tử lớn nhất chưa được sắp xếp sẽ được di chuyển đến vị trí nào?
2. Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp nhanh (Quick Sort) có thể lên tới bao nhiêu?
3. Trong Quick Sort, bước phân hoạch (partitioning) có vai trò gì?
4. Khi sử dụng thuật toán sắp xếp chèn (Insertion Sort), nếu phần tử cần chèn nhỏ hơn tất cả các phần tử trong phần đã sắp xếp, nó sẽ được đặt ở đâu?
5. Thuật toán sắp xếp nào thực hiện việc xây dựng một Max-Heap từ mảng ban đầu?
6. Thuật toán nào thường được sử dụng trong các hệ thống sắp xếp phân tán hoặc khi cần sự ổn định (stable sort)?
7. Trong thuật toán sắp xếp vun đống (Heap Sort), cấu trúc dữ liệu Heap được sử dụng để làm gì?
8. Khi nào thuật toán sắp xếp nổi bọt (Bubble Sort) đạt hiệu quả tốt nhất?
9. Trong thuật toán sắp xếp chọn (Selection Sort), ở mỗi lượt duyệt, thuật toán tìm phần tử gì và đặt nó vào đâu?
10. Ưu điểm chính của thuật toán sắp xếp chèn (Insertion Sort) là gì?
11. Độ phức tạp thời gian trong trường hợp xấu nhất của thuật toán sắp xếp chọn (Selection Sort) là bao nhiêu?
12. Độ phức tạp không gian (space complexity) của hầu hết các thuật toán sắp xếp tại chỗ (in-place sorting algorithms) như Bubble Sort, Insertion Sort, Selection Sort là bao nhiêu?
13. Độ phức tạp thời gian trong trường hợp tốt nhất của thuật toán sắp xếp nổi bọt (Bubble Sort) là bao nhiêu?
14. Trong thuật toán sắp xếp nổi bọt (Bubble Sort), nếu một lượt duyệt không thực hiện bất kỳ hoán vị nào, điều đó có ý nghĩa gì?
15. Trong thuật toán Quick Sort, việc lựa chọn phần tử chốt (pivot) như thế nào ảnh hưởng đến hiệu suất của thuật toán?
16. Thuật toán nào có thể sử dụng để sắp xếp các mảng lớn một cách hiệu quả với độ phức tạp thời gian trung bình là O(n log n)?
17. Độ phức tạp thời gian của thuật toán sắp xếp trộn (Merge Sort) có thể được cải thiện bằng cách nào?
18. Trong thuật toán sắp xếp chèn (Insertion Sort), mục đích của việc chèn là gì?
19. Độ phức tạp thời gian trung bình của thuật toán sắp xếp nhanh (Quick Sort) là bao nhiêu?
20. Thuật toán sắp xếp nào có độ phức tạp thời gian O(n log n) trong mọi trường hợp (tốt nhất, trung bình, xấu nhất)?
21. Thuật toán sắp xếp nào phù hợp nhất cho các mảng nhỏ hoặc mảng gần như đã sắp xếp?
22. Thuật toán nào thường có độ phức tạp thời gian không đổi O(1) cho thao tác tìm kiếm phần tử?
23. Trong sắp xếp nổi bọt (Bubble Sort), nếu mảng có n phần tử, số lần so sánh tối đa trong lượt duyệt đầu tiên là bao nhiêu?
24. Thuật toán sắp xếp nào dựa trên nguyên tắc chia để trị, chia mảng thành hai nửa, sắp xếp từng nửa rồi trộn chúng lại?
25. Độ phức tạp thời gian của thuật toán sắp xếp chèn (Insertion Sort) trên một mảng đã được sắp xếp là bao nhiêu?