1.Dễ
Một phép toán chạy trong thời gian O(1) có nghĩa là gì?
- AThời gian chạy của nó không tăng theo kích thước đầu vào
- BNó xử lý đúng một phần tử mỗi giây thời gian chạy
- CNó chỉ có thể chạy một lần
- DNó luôn mất đúng một giây
2.Dễ
Một thuật toán O(n²) mất 1 giây khi n = 1000. Khoảng bao lâu khi n = 2000?
- A1 giây
- B8 giây
- C4 giây
- D2 giây
3.Dễ
Độ phức tạp thời gian của việc tìm giá trị lớn nhất trong một mảng chưa sắp xếp gồm n số là gì?
- AO(log n)
- BO(n log n)
- CO(n)
- DO(1)
4.Trung bình
Công thức truy hồi T(n) = T(n/2) + O(1) có nghiệm là gì?
- AO(n log n)
- BO(1)
- CO(log n)
- DO(n)
5.Trung bình
Thuật toán nào tìm đường đi ngắn nhất từ một nguồn trong đồ thị có trọng số cạnh không âm?
- AThuật toán Dijkstra
- BTìm kiếm theo chiều sâu
- CThuật toán Kruskal
- DBắt buộc phải dùng Bellman–Ford trong mọi trường hợp
6.Trung bình
Một bài toán có cấu trúc con tối ưu nghĩa là gì?
- AMọi bài toán con đều có cùng kích thước
- BBài toán có thể giải trong thời gian hằng số
- CMột lời giải tối ưu có thể được xây dựng từ các lời giải tối ưu của các bài toán con
- DBài toán có đúng một lời giải tối ưu, và mọi bài toán con đều dùng chung lời giải đó
7.Khó
Vì sao tìm kiếm nhị phân không cho thời gian O(log n) trên một danh sách liên kết đơn?
- ACác phép so sánh trên nút danh sách liên kết chậm hơn
- BDanh sách liên kết không thể được sắp xếp
- CTìm kiếm nhị phân cần ít nhất gấp đôi bộ nhớ
- DĐến được phần tử giữa mất O(n) bước, vì không có truy cập chỉ số trực tiếp
8.Khó
Bài toán dừng cho thấy rằng:
- ANên tránh các vòng lặp
- BMột số chương trình chạy nhanh hơn trên máy tính nhanh hơn, nên việc dừng phụ thuộc vào phần cứng
- CMọi chương trình cuối cùng đều dừng
- DKhông thuật toán nào có thể quyết định, với mọi chương trình và đầu vào, liệu nó có dừng hay không
Đáp án
- 1. A · Thời gian chạy của nó không tăng theo kích thước đầu vào
- 2. C · 4 giây
- 3. C · O(n)
- 4. C · O(log n)
- 5. A · Thuật toán Dijkstra
- 6. C · Một lời giải tối ưu có thể được xây dựng từ các lời giải tối ưu của các bài toán con
- 7. D · Đến được phần tử giữa mất O(n) bước, vì không có truy cập chỉ số trực tiếp
- 8. D · Không thuật toán nào có thể quyết định, với mọi chương trình và đầu vào, liệu nó có dừng hay không
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.