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

Trắc nghiệm Kết nối 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 ít bị ảnh hưởng bởi thứ tự ban đầu của dữ liệu, luôn có độ phức tạp thời gian là O(n log n)?
2. Độ phức tạp thời gian của thuật toán Sắp xếp vun đống (Heap Sort) là bao nhiêu?
3. Thuật toán sắp xếp nào thực hiện bằng cách lặp đi lặp lại việc tìm phần tử nhỏ nhất (hoặc lớn nhất) từ phần chưa sắp xếp và đặt nó vào đầu phần đã sắp xếp?
4. Độ 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?
5. Khi sắp xếp một danh sách rất nhỏ, thuật toán nào có thể hiệu quả hơn do chi phí cài đặt thấp và ít phép so sánh?
6. Nếu bạn cần sắp xếp một mảng lớn gồm các số nguyên, và bạn biết rằng các số nguyên này nằm trong một phạm vi giá trị tương đối nhỏ, bạn có thể xem xét sử dụng thuật toán nào khác ngoài các thuật toán so sánh?
7. Độ phức tạp thời gian của Sắp xếp trộn (Merge Sort) trong mọi trường hợp (tốt nhất, trung bình, xấu nhất) là bao nhiêu?
8. Khi so sánh Sắp xếp nhanh (Quick Sort) và Sắp xếp trộn (Merge Sort), điểm khác biệt chính về tính ổn định là gì?
9. Thuật toán sắp xếp nào đảm bảo tính ổn định (stable sort), nghĩa là các phần tử có giá trị bằng nhau sẽ giữ nguyên thứ tự tương đối của chúng trong danh sách ban đầu?
10. Trong thực tế, để sắp xếp một mảng lớn, thuật toán nào thường được ưu tiên vì hiệu suất cân bằng giữa tốc độ và độ phức tạp?
11. Trong các thuật toán sắp xếp đã học, thuật toán nào yêu cầu không gian bộ nhớ phụ (extra space) nhiều nhất để hoạt động?
12. Khi nói về độ phức tạp không gian của Sắp xếp nhanh (Quick Sort) không tại chỗ, nó thường là bao nhiêu?
13. Khi một danh sách đã được sắp xếp hoặc gần được sắp xếp, thuật toán nào sau đây có thể hoạt động hiệu quả hơn so với trường hợp ngẫu nhiên?
14. Thuật toán sắp xếp nào có thể được xem là một dạng tối ưu hóa của Sắp xếp nổi bọt, khi nó chỉ hoán đổi các phần tử liền kề nếu chúng sai thứ tự?
15. Trong các thuật toán sắp xếp sau đây, thuật toán nào thường được coi là đơn giản nhất để hiểu và cài đặt, mặc dù hiệu quả không cao với tập dữ liệu lớn?
16. Thuật toán sắp xếp nào có thể thực hiện sắp xếp tại chỗ (in-place sort), tức là không yêu cầu không gian bộ nhớ phụ đáng kể?
17. Thuật toán sắp xếp nào hoạt động bằng cách chia danh sách thành hai nửa, sắp xếp từng nửa rồi trộn chúng lại với nhau?
18. Khi sắp xếp một mảng với các phần tử có giá trị rất gần nhau, thuật toán nào có thể gặp khó khăn trong việc phân hoạch hiệu quả, dẫn đến hiệu suất giảm sút?
19. Thuật toán sắp xếp nào sử dụng cấu trúc dữ liệu vun đống (heap) để thực hiện việc sắp xếp?
20. Thuật toán sắp xếp nào có xu hướng chọn một phần tử làm chốt (pivot) và phân hoạch danh sách dựa trên phần tử đó?
21. Thuật toán sắp xếp nào có độ phức tạp thời gian O(n^2) trong mọi trường hợp?
22. Thuật toán sắp xếp nào thường được sử dụng làm thuật toán con trong các thuật toán sắp xếp phức tạp hơn như Timsort?
23. Trong sắp xếp chèn (Insertion Sort), mỗi phần tử được lấy từ tập hợp chưa sắp xếp và được đặt vào vị trí đúng trong tập hợp con đã sắp xếp như thế nào?
24. Trong trường hợp xấu nhất, độ phức tạp thời gian của Sắp xếp nhanh (Quick Sort) có thể là bao nhiêu?
25. Thuật toán sắp xếp nào hoạt động dựa trên nguyên lý phân chia mảng thành các chuyển động (runs) đã sắp xếp và sau đó trộn các chuyển động này lại?