[KNTT] Trắc nghiệm Tin học 11 KHMT bài 25 Xác định độ phức tạp thời gian thuộc toán

[KNTT] Trắc nghiệm Tin học 11 KHMT bài 25 Xác định độ phức tạp thời gian thuộc toán

1. Độ phức tạp không gian (space complexity) của một thuật toán đo lường điều gì?
2. Khi phân tích độ phức tạp thời gian, ký hiệu Big O (O(...)) biểu thị điều gì?
3. Độ phức tạp thời gian O(N) có nghĩa là gì?
4. Độ phức tạp thời gian O(N log N) thường thấy ở các thuật toán nào sau đây?
5. Độ phức tạp thời gian của thuật toán tìm kiếm nhị phân trên một danh sách đã sắp xếp có N phần tử là bao nhiêu trong trường hợp xấu nhất?
6. Thuật toán sắp xếp nhanh (Quick Sort) có độ phức tạp thời gian trung bình là bao nhiêu?
7. Đâu là một ví dụ về thuật toán có độ phức tạp thời gian O(log N)?
8. Khi phân tích thuật toán, trường hợp xấu nhất (worst-case) đề cập đến tình huống nào?
9. Đâu là một ví dụ về thuật toán có độ phức tạp thời gian O(log N)?
10. Độ phức tạp thời gian của thuật toán tìm kiếm tuyến tính (Linear Search) khi phần tử cần tìm nằm ở cuối danh sách có N phần tử là bao nhiêu?
11. Thuật toán sắp xếp nổi bọt (Bubble Sort) thực hiện bao nhiêu lượt so sánh và đổi chỗ tối đa trong trường hợp xấu nhất để sắp xếp một mảng có N phần tử?
12. Trong phân tích thuật toán, trường hợp trung bình (average-case) đề cập đến điều gì?
13. Độ phức tạp thời gian của thuật toán tìm kiếm tuần tự trên một danh sách không sắp xếp có N phần tử là bao nhiêu trong trường hợp xấu nhất?
14. Độ phức tạp thời gian của một thuật toán đệ quy thường được phân tích bằng phương pháp nào?
15. Một thuật toán có độ phức tạp thời gian O(N^2) sẽ có hiệu suất như thế nào khi N tăng gấp đôi?
16. Khi N là rất nhỏ, thuật toán có độ phức tạp thời gian O(N^2) có thể chạy nhanh hơn thuật toán O(N log N) không?
17. Độ phức tạp thời gian của thuật toán sắp xếp chọn (Selection Sort) trong mọi trường hợp (tốt nhất, trung bình, xấu nhất) là bao nhiêu?
18. Xét một cấu trúc dữ liệu cho phép thêm phần tử vào cuối danh sách với độ phức tạp O(1) và xóa phần tử ở đầu danh sách với độ phức tạp O(1). Nếu ta thực hiện N phép thêm và N phép xóa, tổng độ phức tạp thời gian là bao nhiêu?
19. Độ phức tạp thời gian của việc truy cập một phần tử trong mảng bằng chỉ số (ví dụ: `my_array[i]`) là bao nhiêu?
20. Độ phức tạp thời gian O(1) có nghĩa là gì?
21. Khi phân tích độ phức tạp thời gian, trường hợp tốt nhất (best-case) đề cập đến tình huống nào?
22. Đâu là một ví dụ về thuật toán có độ phức tạp thời gian O(N^2)?
23. Xét hai vòng lặp lồng nhau, mỗi vòng lặp chạy N lần, và bên trong vòng lặp có một câu lệnh O(1). Độ phức tạp thời gian của cấu trúc này là bao nhiêu?
24. Xét một vòng lặp chạy N lần, bên trong có một câu lệnh thực thi trong O(1) thời gian. Độ phức tạp thời gian của vòng lặp này là bao nhiêu?
25. Khi so sánh hai thuật toán A và B, nếu thuật toán A có độ phức tạp thời gian O(N) và thuật toán B có độ phức tạp thời gian O(N^2), thì thuật toán nào hiệu quả hơn khi N rất lớn?