1.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(1)
- CO(n log n)
- DO(n)
2.Dễ
Một thuật toán O(n) mất 3 giây khi n = 1 triệu. Khoảng bao lâu khi n = 2 triệu?
- A9 giây
- B3 giây
- C12 giây
- D6 giây
3.Dễ
Thời gian chạy của một thuật toán là O(n). Tốc độ tăng này được gọi là gì?
- ABậc hai
- BLogarit
- CTuyến tính
- DHằng số
4.Trung bình
Đệ quy của sắp xếp trộn có bao nhiêu tầng đối với một mảng n phần tử?
- AKhoảng n
- BKhoảng log₂ n
- CKhoảng √n
- DKhoảng n / 2
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 Kruskal
- BTìm kiếm theo chiều sâu
- CThuật toán Dijkstra
- 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ì?
- ABà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 đó
- BBài toán có thể giải trong thời gian hằng số
- CMọi bài toán con đều có cùng kích thước
- DMộ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.Khó
Bài toán cái túi 0/1 giải bằng quy hoạch động mất thời gian O(nW). Vì sao điều này được gọi là giả đa thức?
- AVì n luôn nhỏ
- BVì thuật toán là ngẫu nhiên và thời gian chạy thay đổi theo từng đầu vào
- CVì nó chỉ hoạt động khi W = 0
- DW là một giá trị số, nên thời gian là hàm mũ theo số bit dùng để viết W
8.Khó
Chi phí khấu hao của việc tăng một bộ đếm nhị phân là bao nhiêu, biết rằng một lần tăng có thể lật nhiều bit?
- AO(1) mỗi lần tăng
- BO(n log n) mỗi lần tăng
- CO(log n) mỗi lần tăng
- DO(n) mỗi lần tăng
Đáp án
- 1. D · O(n)
- 2. D · 6 giây
- 3. C · Tuyến tính
- 4. B · Khoảng log₂ n
- 5. C · Thuật toán Dijkstra
- 6. D · 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 · W là một giá trị số, nên thời gian là hàm mũ theo số bit dùng để viết W
- 8. A · O(1) mỗi lần tăng
Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.