[KNTT] Trắc nghiệm Tin học 7 bài 16 Thuật toán sắp xếp

[KNTT] Trắc nghiệm Tin học 7 bài 16 Thuật toán sắp xếp

1. Thuật toán sắp xếp nào có thể được mô tả là tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đưa nó về đầu danh sách?
2. Khi sử dụng thuật toán sắp xếp chèn (Insertion Sort) để sắp xếp danh sách [3, 6, 1, 8, 4], sau khi chèn phần tử 1 vào đúng vị trí, danh sách sẽ có dạng nào?
3. Thuật toán sắp xếp nào thường có hiệu suất kém nhất trong trường hợp dữ liệu đã được sắp xếp sẵn?
4. Trong sắp xếp nhanh (Quick Sort), vai trò của pivot (chốt) là gì?
5. Trong sắp xếp nổi bọt (Bubble Sort), để sắp xếp danh sách theo thứ tự giảm dần, ta cần thay đổi điều kiện so sánh như thế nào?
6. Đặc điểm nào sau đây mô tả đúng nhất về sắp xếp ổn định (stable sort)?
7. Nếu ta cần sắp xếp một danh sách các chuỗi ký tự theo thứ tự từ điển, thuật toán nào dưới đây có thể được áp dụng hiệu quả?
8. Khi sắp xếp danh sách [4, 1, 3, 2] bằng thuật toán sắp xếp trộn (Merge Sort), bước chia danh sách thành các danh sách con nhỏ hơn sẽ diễn ra như thế nào?
9. Mục đích chính của việc sử dụng thuật toán sắp xếp trong tin học là gì?
10. 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) về mặt số lần hoán đổi (swap) để sắp xếp một danh sách, thuật toán nào thường thực hiện ít hoán đổi hơn trong trường hợp trung bình?
11. Đâu KHÔNG phải là một đặc điểm của thuật toán sắp xếp nhanh (Quick Sort)?
12. Trong sắp xếp vun đống (Heap Sort), bước đầu tiên là xây dựng một cấu trúc dữ liệu gọi là đống (heap). Loại đống nào thường được sử dụng để sắp xếp theo thứ tự tăng dần?
13. Trong thuật toán sắp xếp trộn (Merge Sort), giai đoạn trộn (merge) hai danh sách con đã sắp xếp là bước quan trọng nhất. Nếu ta có hai danh sách con đã sắp xếp là A = [2, 5, 8] và B = [1, 3, 9], sau khi trộn chúng lại theo thứ tự tăng dần, danh sách kết quả sẽ là gì?
14. Thuật toán nào sau đây KHÔNG phải là thuật toán sắp xếp dựa trên so sánh (comparison-based sort)?
15. Nếu ta có một danh sách rất lớn gồm các số nguyên dương và biết rằng các số này nằm trong một phạm vi hẹp (ví dụ: từ 1 đến 1000), thuật toán nào sau đây sẽ là lựa chọn hiệu quả nhất về mặt thời gian?
16. Thuật toán sắp xếp chèn (Insertion Sort) hoạt động tốt nhất khi nào?
17. Khi áp dụng sắp xếp chèn (Insertion Sort) cho một danh sách, mỗi bước của thuật toán thực hiện công việc gì?
18. Thuật toán sắp xếp chọn (Selection Sort) hoạt động bằng cách tìm phần tử nhỏ nhất (hoặc lớn nhất) trong phần chưa sắp xếp và đặt nó vào đúng vị trí ở đầu (hoặc cuối) của phần đã sắp xếp. Với danh sách [7, 2, 9, 1, 5], sau hai lần lặp của Selection Sort (theo thứ tự tăng dần), danh sách sẽ có dạng nào?
19. Thuật toán nào sau đây thường được coi là có độ phức tạp thời gian không xác định (non-deterministic) do phụ thuộc vào lựa chọn pivot?
20. Trong sắp xếp nổi bọt (bubble sort), mỗi lần duyệt qua danh sách, phần tử lớn nhất (hoặc nhỏ nhất) sẽ được đưa về vị trí cuối cùng (hoặc đầu tiên) trong phần chưa sắp xếp. Quá trình này lặp lại cho đến khi toàn bộ danh sách được sắp xếp. Nếu ta có danh sách [5, 1, 4, 2, 8], sau lần duyệt đầu tiên của thuật toán sắp xếp nổi bọt theo thứ tự tăng dần, danh sách sẽ có dạng nào sau đây?
21. Thuật toán sắp xếp nào thường được sử dụng trong các bảng tính điện tử (như Microsoft Excel) khi người dùng chọn sắp xếp một cột theo thứ tự bảng chữ cái hoặc số?
22. 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) và một thuật toán khác có độ phức tạp là O(n^2), thì thuật toán nào sẽ hiệu quả hơn khi kích thước tập dữ liệu (n) rất lớn?
23. Thuật toán sắp xếp nào dưới đây thường có hiệu suất tốt nhất về mặt thời gian thực thi đối với các tập dữ liệu lớn và đã được sắp xếp một phần?
24. Thuật toán nào sau đây yêu cầu bộ nhớ phụ (extra space) nhiều nhất để hoạt động?
25. Độ phức tạp thời gian của thuật toán sắp xếp nổi bọt (Bubble Sort) trong trường hợp xấu nhất là bao nhiêu?